前回は、数値関数について説明しました。今回は日付関数について説明します。この記事で紹介する関数でできることは「システム日付の取得と書式指定、日付の編集、日付の取得」です。
システム日付の取得と書式指定
SYSDATEはシステム日付をDATE型のデータとして返してくれます。
SELECT SYSDATE FROM DUALでは、TO_CHAR関数を使いシステム日付を書式を指定し返したいと思います。
SELECT TO_CHAR(SYSDATE, 'YYYY/MM/DD HH24:MI:SS') AS "SYSDATE" FROM DUAL| SYSDATE |
|---|
| 2024/04/03 13:11:20 |
指定できる書式は下記表の通りです。
| 書式 | 説明 |
|---|---|
| YYYY | 4桁で表した西暦年 |
| YY | 2桁で表した西暦年 |
| MM | 月 |
| DD | 日 |
| HH | 12時間制の時(1~12) |
| HH24 | 24時間制の時(1~24) |
| MI | 分 |
| SS | 秒 |
| D | 曜日(1:日曜日~7:土曜日) |
| DAY | 曜日(日曜日~土曜日) |
| AM | 午前、午後 |
では、日付の編集、取得、計算で使う関数を確認してみましょう。
日付の編集
文字列を日付型に変換(TO_DATE)
TO_DATE関数は、文字列を日付型に変換するために使用します。
SELECT TO_DATE('2024-04-03', 'YYYY/MM/DD ') AS "TO_DATE" FROM DUAL| TO_DATE |
|---|
| 2024/04/03 |
書式を指定して編集(TO_CHAR)
TO_CHAR関数は日付や数値などのデータ型を指定したフォーマットで文字列に変換するために使用します。
SELECT TO_CHAR(SYSDATE, 'YYYY/MM/DD HH:MI:SS') AS "TO_CHAR" FROM DUAL| SYSDATE |
|---|
| 2024/04/03 01:59:58 |
日付の取得
日付の曜日取得(DAY)
TO_CHAR関数を使用し、DAYを指定をすることで日付から曜日を取得することができます。
SELECT TO_CHAR(SYSDATE, 'DAY') AS "DAY" FROM DUAL| DAY |
|---|
| WEDNESDAY |
午前・午後の取得(AM)
TO_CHAR関数を使用し、AMを指定をすることで午前、午後を取得することができます。
SELECT TO_CHAR(SYSDATE, 'AM') AS "AM or PM" FROM DUAL| AM or PM |
|---|
| PM |
月末の取得(LAST_DAY)
LAST_DAY関数は、指定した日付の月の最終日を取得することができます。
SELECT LAST_DAY(SYSDATE) AS "月末" FROM DUAL| 月末 |
|---|
| 30-04-24 |
月初の取得(TRUNC(日付,’MONTH’)
TRUNC関数に日付とMONTHを指定することで、月初を取得することができます。
SELECT TRUNC(SYSDATE, 'MONTH') AS "月初" FROM DUAL| 月初 |
|---|
| 01-04-24 |
まとめ
日付関数の使い方がなんとなく理解できたんじゃないでしょうか。ここでは説明していませんが、日付の計算なども可能です。気になる方は日付の計算方法も調べて覚えておきましょう!


