之前的mybatis中有一条语句用了date_sub函数,如下:
SELECT *
FROM xxx
WHERE n_delete_flag = 0
and d_receive_start_time >= date_sub(curdate(), interval ? day)
使用迁移到达梦之后,就一直提示【?】列附近出现错误。
curdate()这个返回的是系统当前日期,并不是时间,使用date_sub与他搭配后也是返回日期,因此可以简单使用curdate()-N去代替,如下:
SELECT date_sub(curdate(), interval '365' day);--2022-05-25
select curdate()-365;--2022-05-25