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