SQLServerで日付の曜日を取得する
SQLServerでは、曜日を「月曜日」、「火曜日」など文字列で取得する方法と、曜日を表す数字で取得する方法の2つがある。
曜日を文字列で取得する
曜日を「月曜日」、「火曜日」などの文字列で取得するには、DATENAME関数を使用する。
1 | SELECT DATENAME(WEEKDAY, GETDATE()); |
※WEEKDAYは、DWでも可(取得対象とするdateの要素を指定)
曜日を表す数字を取得する
曜日を曜日を表す数字で取得する場合は、DATEPART関数を使用する。
1 | SELECT DATEPART(WEEKDAY, GETDATE()); |
※WEEKDAYは、DWでも可(取得対象とするdateの要素を指定)
曜日と数字の対応表
曜日 | 返される数字 |
---|---|
日曜日 | 1 |
月曜日 | 2 |
火曜日 | 3 |
水曜日 | 4 |
木曜日 | 5 |
金曜日 | 6 |
土曜日 | 7 |
曜日を表す数字は、CASE式を使って以下のように文字列に変換することができる。
1 2 3 4 5 6 7 8 9 10 | SELECT CASE DATEPART(WEEKDAY, GETDATE()) WHEN 1 THEN 'Sun' WHEN 2 THEN 'Mon' WHEN 3 THEN 'Tue' WHEN 4 THEN 'Wed' WHEN 5 THEN 'Thu' WHEN 6 THEN 'Fri' WHEN 7 THEN 'Sat' END |
※WEEKDAYは、DWでも可(取得対象とするdateの要素を指定)