2009-08-12 40 views
3

私は最後に変更された日付を格納する列を持っています。その値が現在の日付から2ヶ月以上ある場合、SQLクエリをチェックインします。SQL - 今日から2ヶ月Oracleの日付

私はSYSDATEを使用する必要があると知っていますが、Oracleの日付情報に精通していないので、残りの部分はわかりません。

答えて

13
SELECT * from table where date_column >= add_months(TRUNC(SYSDATE) + 1, 2); 
+0

私は '> = add_months(TRUNC(SYSDATE)+ 1,2)'とします。このタイプの条件は通常、datetimeではなく日付のみを想定しています。 – Quassnoi

1

ここでは、この

SELECT field1,field2 from yourtable where field_date > add_months(SYSDATE, 2); 

さようなら

0

を試し句現在の日付に基づいて前の13ヶ月あなたを取得するクエリです。たとえば、今日の日付が2011年3月11日である場合、クエリは2/1/2011をEOD 2/28/2011に返します。

SELECT * FROM [my-table] WHERE [date-field] BETWEEN TRUNC (ADD_MONTHS (SYSDATE, -13), 'MM') AND TRUNC (LAST_DAY (ADD_MONTHS (SYSDATE, -1))+1) 
関連する問題