OracleのDATE型演算
「過去60日以内に更新されていないレコードを抽出したい」みたいな場合は以下のようにやる。
SELECT ID, RENEW_DATE FROM TABLE
WHERE NVL(RENEW_DATE,TO_DATE('9999-12-31','YYYY-MM-DD')) < SYSDATE - 60;
まとめると以下のようになる。
SQL> SET HEAD OFF
SQL> SELECT SYSDATE, SYSDATE-1, SYSDATE-1/3600, SYSDATE-1/86400 FROM DUAL;2007/08/23 18:30:00 2007/08/22 18:30:00 2007/08/23 17:30:00 2007/08/23 18:29:59