前回は、数値関数について説明しました。今回は日付関数について説明します。この記事で紹介する関数でできることは「システム日付の取得と書式指定、日付の編集、日付の取得」です。
システム日付の取得と書式指定
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 |
まとめ
日付関数の使い方がなんとなく理解できたんじゃないでしょうか。ここでは説明していませんが、日付の計算なども可能です。気になる方は日付の計算方法も調べて覚えておきましょう!
コメント