SQLServerで曜日を表示させる方法

記事内に広告が含まれています。

SQLServerで該当する日付の曜日を表示させるにはDATEPART関数を利用すると簡単に表示することができます。

SQLServerで曜日を表示させる方法

DATEPART関数の引数は

DATEPART( datepart, date )

で、datepartは「返す時間間隔の文字列式」で値を指定することで意図したものを取得することができます。

datepart 省略形
year yy、yyyy
quarter qq、q
month mm、m
dayofyear dy、y
day dd、d
week wk、ww
weekday dw
hour hh
minute mi、n
second ss、s
millisecond ms
microsecond mcs
nanosecond ns
tzoffset tz
iso_week isowk、isoww

今回は曜日が欲しいので「weekday」を使います。

曜日を取得するSQL

では、実際に曜日を取得するSQLを書いてみます。

DATEPART関数が返してくる曜日は1から7までの数字で1が日曜日、2が火曜日という順番で返されてきます。

SELECT 
    CASE DATEPART(WEEKDAY,'2023/01/22')
        WHEN 1 THEN '日曜日'
        WHEN 2 THEN '月曜日'
        WHEN 3 THEN '火曜日'
        WHEN 4 THEN '水曜日'
        WHEN 5 THEN '木曜日'
        WHEN 6 THEN '金曜日'
        WHEN 7 THEN '土曜日'
    END AS weekday_1
   ,CASE DATEPART(WEEKDAY,'2023/01/23')
        WHEN 1 THEN '日曜日'
        WHEN 2 THEN '月曜日'
        WHEN 3 THEN '火曜日'
        WHEN 4 THEN '水曜日'
        WHEN 5 THEN '木曜日'
        WHEN 6 THEN '金曜日'
        WHEN 7 THEN '土曜日'
    END AS weekday_2
   ,CASE DATEPART(WEEKDAY,'2023/01/24')
        WHEN 1 THEN '日曜日'
        WHEN 2 THEN '月曜日'
        WHEN 3 THEN '火曜日'
        WHEN 4 THEN '水曜日'
        WHEN 5 THEN '木曜日'
        WHEN 6 THEN '金曜日'
        WHEN 7 THEN '土曜日'
    END AS weekday_3

というようにCASE WHEN を使って書くと指定した日の曜日を得ることができます。

weekday_1 weekday_2 weekday_3
日曜日 月曜日 火曜日

まとめ

SQLSeverでは日付を指定して曜日を取得するにはDATEPART関数を利用すれば取得することができます。

また返される値は各曜日を表現する数値なのでCASE WHENなどを用いて編集してあげると見やすい形になります。

タイトルとURLをコピーしました