ここでは、Oracle の last_day 関数と extract 関数を使って、月の最終日を文字列型、数値型でそれぞれ取得する SQL のサンプルを掲載しています。
スポンサーリンク
月の最終日を文字列型で取得する
月の最終日を文字列として取得しています。詳細はコメントを参照ください。
/* * 月の最終日を文字列で取得する。last_day関数のリターン値はdate型なので * to_char を使って文字列として取得している */ select to_char(last_day(sysdate), 'yyyy-mm-dd') as last_day from dual last_day ----------------- 2015-12-31
月の日数を数値型 ( number ) で取得する
extract 関数 ( パラメータ:day ) を使用して、日の要素を取得しています。リターン値は number 型です。
/* * 月の日数をnumber型で取得する */ select extract(day from last_day(sysdate)) as days from dual days ----------------- 31
extract 関数は、日の要素だけではなく年月などの要素も取得することができます。下表はパラメータと取得する要素の一覧です。
要素 | パラメータ |
---|---|
年 | YEAR |
月 | MONTH |
日 | DAY |
時 | HOUR |
分 | MINUTE |
秒 | SECOND |