select * from QRQC_TRACK_REPORT
where PROPOS_DATE between '2022-03-11'
and '${datedelta(format(2022-03-11,"yyyy-MM-dd"),7)}'
and ZT IS NULL OR ZT='唤醒'
order by PROPOS_DATE desc
你这又犯了和前一题一样的错误, and 和 or 放在一个层级了,所有的and 就会都变成 or ,要记得加括号啊。
另外,oracle的日期加减不是你这么写的:
如果你这个字段类型是个date,那么可以直接把这个值加7,就是7天后了;
如果你这个字段类型是个varchar2,那么可以转成date类型后再加7,比如 to_date(字段名,'yyyy-mm-dd')+7
如果要把date再转回varchar2,使用to_char函数,比如 to_char(date类型字段,'yyyy-mm-dd')