滚动年份提取物

时间:2018-04-13 13:32:43

标签: sql oracle

我有下表。日期格式为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    

2 个答案:

答案 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现在可以使用了。