Oracle SQL Where子句用于查找超过30天的日期记录

时间:2010-10-05 01:28:33

标签: sql oracle date-arithmetic

我想使用创建日期字段在(Oracle SQL)表中查找记录,其中记录超过30天。使用像>这样的运算符来查找记录会很不错但是,如果有人可以建议快速SQL where子句语句来查找超过30天的记录,这将是不错的。请建议使用Oracle语法。

1 个答案:

答案 0 :(得分:53)

使用:

SELECT *
  FROM YOUR_TABLE
 WHERE creation_date <= TRUNC(SYSDATE) - 30

SYSDATE返回日期&amp;时间; TRUNC将日期重置为截至午夜,因此如果您想要30天之前的creation_date(包括当前时间),则可以省略该日期。

根据您的需要,您还可以查看使用ADD_MONTHS

SELECT *
  FROM YOUR_TABLE
 WHERE creation_date <= ADD_MONTHS(TRUNC(SYSDATE), -1)