サーチ…


日付演算

オラクルでは、 DATE (最も近い秒までの時間を含む)およびTIMESTAMP (秒までの小数点以下を含む)データ型がサポートされており、算術演算(加算および減算)がネイティブに可能です。例えば:

翌日になるには:

select to_char(sysdate + 1, 'YYYY-MM-DD') as tomorrow from dual;

前日を取得するには:

select to_char(sysdate - 1, 'YYYY-MM-DD') as yesterday from dual;

現在の日付に5日を追加するには:

select to_char(sysdate + 5, 'YYYY-MM-DD') as five_days_from_now from dual;

現在の日付に5時間を追加するには:

select to_char(sysdate + (5/24), 'YYYY-MM-DD HH24:MI:SS') as five_hours_from_now from dual;

現在の日付に10分を追加するには:

select to_char(sysdate + (10/1440), 'YYYY-MM-DD HH24:MI:SS') as ten_mintues_from_now from dual;

現在の日付に7秒を追加するには:

select to_char(sysdate + (7/86400), 'YYYY-MM-DD HH24:MI:SS') as seven_seconds_from_now from dual;

hire_dateが30日以上前の行を選択するには:

select * from emp where hire_date < sysdate - 30;

last_updatedカラムが最後の1時間にある行を選択するには:

select * from logfile where last_updated >= sysdate - (1/24);

また、Oracleは、期間(例えば1.5日、36時間、2カ月など)を表すビルトイン・データ型INTERVALを提供します。これらは、 DATEおよびTIMESTAMP式の算術演算でも使用できTIMESTAMP 。例えば:

select * from logfile where last_updated >= sysdate - interval '1' hour;

Add_months関数

構文: add_months(p_date, integer) return date;

Add_months関数は、amt月をp_dateの日付に加算します。

SELECT add_months(date'2015-01-12', 2) m FROM dual;
M
2015-03-12

またsubstractヶ月マイナスの使用可能amt

SELECT add_months(date'2015-01-12', -2) m FROM dual;
M
2014-11-12

計算された月の日数が指定した日数より少ない場合、計算された月の最終日が返されます。

SELECT to_char( add_months(date'2015-01-31', 1),'YYYY-MM-DD') m FROM dual;
M
2015-02-28


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow