40

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

4

1 回答 1

70

采用:

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

SYSDATE 返回日期和时间;TRUNC将日期重置为午夜,因此如果您想要creation_date包含当前时间在内的 30 天前的日期,则可以省略它。

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

SELECT *
  FROM YOUR_TABLE
 WHERE creation_date <= ADD_MONTHS(TRUNC(SYSDATE), -1)
于 2010-10-05T01:39:48.810 回答