需要SQL
查询的帮助。我执行了以下查询,我认为应该显示START_DATE_TIME
超过6 months
的结果。但是,正如您在下面看到的那样,它正在拉动START_DATE_TIME少于6个月的记录。任何人都知道怎么解决这个问题?
SELECT ESPADMIN.ESP_APPLICATION.APPL_NAME,
ESPADMIN.ESP_APPLICATION.START_DATE_TIME
FROM ESPADMIN.ESP_APPLICATION
WHERE(ESPADMIN.ESP_APPLICATION.START_DATE_TIME > add_months(trunc(sysdate, 'MM'), -06));
显示START_DAT_TIME
的查询的一些结果:
5/21/2017 10:00:35 AM
5/21/2017 2:00:40 PM
答案 0 :(得分:0)
在查询的where语句中,您需要更改>到<
select ESPADMIN.ESP_APPLICATION.APPL_NAME,
ESPADMIN.ESP_APPLICATION.START_DATE_TIME
from ESPADMIN.ESP_APPLICATION
where (ESPADMIN.ESP_APPLICATION.START_DATE_TIME <
add_months(trunc(sysdate, 'MM'),-06))
在进行数学比较时,表中的日期被视为整数,因此日期越晚,整数越高。以数学方式倒退将是一个不到。