29
我想使用記錄超過30天的創建日期字段在(Oracle SQL)表中查找記錄。使用像>這樣的操作符來查找記錄會很好,但是如果任何人都可以建議使用快速SQL where子句語句來查找超過30天的記錄,那將會很好。請推薦Oracle語法,因爲這是我正在使用的。Oracle SQL Where子句查找30天以前的日期記錄
我想使用記錄超過30天的創建日期字段在(Oracle SQL)表中查找記錄。使用像>這樣的操作符來查找記錄會很好,但是如果任何人都可以建議使用快速SQL where子句語句來查找超過30天的記錄,那將會很好。請推薦Oracle語法,因爲這是我正在使用的。Oracle SQL Where子句查找30天以前的日期記錄
用途:
SELECT *
FROM YOUR_TABLE
WHERE creation_date <= TRUNC(SYSDATE) - 30
SYSDATE返回的日期&時間; TRUNC將日期重置爲截至午夜,因此如果您想要包括當前時間在內的前30天的creation_date
,則可以省略該日期。
根據你的需要,你也可以看看使用ADD_MONTHS:
SELECT *
FROM YOUR_TABLE
WHERE creation_date <= ADD_MONTHS(TRUNC(SYSDATE), -1)
我喜歡'CREATION_DATE <= TRUNC(SYSDATE) - 間隔 '1' month' :) – 2010-10-05 04:03:20
@be現在在這裏:這很好,只要您不介意ORA-01839在某些情況下「指定的月份無效」如果creation_date是3月31日。 – 2010-10-05 04:38:38
嗯,我一直認爲'間隔'表達式是爲了正確處理這些情況而設計的...... – 2010-10-05 04:57:34