我有下表。日期格式为TO_CHAR(DATE,'YYYYMMDD')
表A
id dt
1 20180101
2 20180201
3 20170101
有没有办法榨取滚动年份的数据?
预期产出:
id dt
1 20180101
2 20180201
我的SQL下面:哪个不起作用......
select *
from tableA
where A.DT >= TO_DATE(SYSDATE,'YYYYMMDD') -365
答案 0 :(得分:2)
尝试此查询。
SELECT *
FROM tableA
WHERE TO_DATE(DT,'YYYY-MM-DD') >= SYSDATE -365
因为SYSDATE
已经是您不必将其转换为DATE
答案 1 :(得分:0)
我的问题是我将日期改为字符串ORA-01861: liter does not match format string
创建另一个不转换TO_CHAR的列,并将它们与日期进行比较。
id dt dt2 1 20180101 01/01/2018
where AND A.DT2 >= SYSDATE -365
现在可以使用了。