対象日が属する年度の終了日を取得するFunctionです。
サンプル
例)対象日が属する年度の終了日を取得するFunction
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
CREATE OR REPLACE FUNCTION FNC_GET_NENDO_END( a IN VARCHAR2 ) RETURN VARCHAR2 IS dt DATE; ret VARCHAR2(8); BEGIN dt := TO_DATE(a, 'YYYYMMDD'); IF EXTRACT(MONTH FROM dt) >= 4 THEN ret := TO_CHAR(EXTRACT(YEAR FROM dt) +1) || '0331'; ELSE ret := TO_CHAR(EXTRACT(YEAR FROM dt)) || '0331'; END IF; RETURN ret; EXCEPTION WHEN OTHERS THEN RETURN NULL; END; / |
- 実行例
- SQL>select FNC_GET_NENDO_END('20171201') from dual; FNC_GET_NENDO_END('20171201') ----------------------------------------- 20180331
解説
- YYYYMMDD形式の日付文字列でない場合はNULLが返ります。