日付の差分日数を取得するFunctionサンプルです。
サンプル
例)日付の差分日数を取得するFunction
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
CREATE OR REPLACE FUNCTION FNC_GET_YMD_DIFF( a1 IN VARCHAR2 ,a2 IN VARCHAR2 ) RETURN NUMBER IS dt1 DATE; dt2 DATE; ret VARCHAR2(8); BEGIN dt1 := TO_DATE(a1, 'YYYYMMDD'); dt2 := TO_DATE(a2, 'YYYYMMDD'); RETURN dt2 - dt1; EXCEPTION WHEN OTHERS THEN RETURN NULL; END; / |
- 実行例
- SQL>select FNC_GET_YMD_DIFF('20171201', '20171207') from dual; FNC_GET_YMD_DIFF('20171201', '20171207') ----------------------------------------- 6
解説
- YYYYMMDD形式の日付文字列でない場合はNULLが返ります。