SQL查询帮助使用SYSDATE

时间:2017-09-29 12:20:36

标签: sql

需要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

1 个答案:

答案 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))

在进行数学比较时,表中的日期被视为整数,因此日期越晚,整数越高。以数学方式倒退将是一个不到。