SQL Server - 曜日を取得する

日付から曜日を取得するには DATEPART 関数を使用します。

曜日を取得する方法

DATEPART 関数の引数に 定数 WEEKDAY を指定し、曜日を取得したい 日付 を渡します。
曜日 = DATEPART(WEEKDAY, 日付)

曜日は 1 ~ 7 の数値で返され、意味は次の通りです。

返される値 曜日
1
2
3
4
5
6
7

サンプルSQL

SELECT
     DATEPART(WEEKDAY, '2040/01/01')    --結果 = 1 (日)
    ,DATEPART(WEEKDAY, '2040/01/02')    --結果 = 2 (月)
    ,DATEPART(WEEKDAY, '2040/01/03')    --結果 = 3 (火)
    ,DATEPART(WEEKDAY, '2040/01/04')    --結果 = 4 (水)
    ,DATEPART(WEEKDAY, '2040/01/05')    --結果 = 5 (木)
    ,DATEPART(WEEKDAY, '2040/01/06')    --結果 = 6 (金)
    ,DATEPART(WEEKDAY, '2040/01/07')    --結果 = 7 (土)
サンプルSQLの実行結果
サンプルSQLの実行結果

曜日を文字列('月' ~ '日')で取得

CASE文 を使用し、数値を文字列に変換します。
CASE DATEPART(WEEKDAY, 日付)
    WHEN 1 THEN '日'
    WHEN 2 THEN '月'
    WHEN 3 THEN '火'
    WHEN 4 THEN '水'
    WHEN 5 THEN '木'
    WHEN 6 THEN '金'
    WHEN 7 THEN '土'
END

サンプルSQL

今日の曜日を返します。

SELECT
    CASE DATEPART(WEEKDAY, GETDATE())
        WHEN 1 THEN '日'
        WHEN 2 THEN '月'
        WHEN 3 THEN '火'
        WHEN 4 THEN '水'
        WHEN 5 THEN '木'
        WHEN 6 THEN '金'
        WHEN 7 THEN '土'
    END

検証環境