Oracle Database
日付の使用
サーチ…
日付演算
オラクルでは、 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