対象日が属する月の末日を取得するFunctionサンプルです。
対象日、末日ともにYYYYMMDD形式の日付文字列です。
サンプル
例)対象日が属する月の末日を取得するFunction
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
CREATE OR REPLACE FUNCTION FNC_GET_LASTYMD( a IN VARCHAR2 ) RETURN VARCHAR2 IS dt DATE; ret VARCHAR2(8); BEGIN dt := TO_DATE(a, 'YYYYMMDD'); ret := TO_CHAR(LAST_DAY(dt), 'YYYYMMDD'); RETURN ret; EXCEPTION WHEN OTHERS THEN RETURN NULL; END; / |
- 実行例
- SQL>select FNC_GET_LASTYMD('20171203') from dual; FNC_GET_LASTYMD('20171203') ------------------------------ 20171231
解説
- YYYYMMDD形式の日付文字列でない場合はNULLが返ります。