Excel関数と同様にSQLにも文字列・算術関数以外に日付関数が存在します。
WEEKDAY関数
今回は日付関数の中からWEEKDAY関数を紹介します。
WEEKDAY関数の構文は以下のとおりです。
select WEEKDAY(date,firstdayofweek) from テーブル名
WEEKDAY関数は日付から曜日を表す数字を返します。
引数「firstdayofweek」は1~7の数値を指定します。
省略した場合は1を指定したことになります。
Excel関数のWEEKDAY関数と同じ機能です。
firstdayofweek一覧
定数 | 値 | 意味 |
---|---|---|
vbSunday | 1 | 日曜日(既定値) |
vbMonday | 2 | 月曜日 |
vbTuesday | 3 | 火曜日 |
vbWednesday | 4 | 水曜日 |
VbThursday | 5 | 木曜日 |
vbFriday | 6 | 金曜日 |
vbSaturday | 7 | 土曜日 |
定数が存在しますが、Excel内では使えないようなので「値」を使用します。
firstdayofweekと戻り値の一覧
引数「firstdayofweek」の設定によって戻り値が変わります。
週の始まり | 曜日 | |||||||
---|---|---|---|---|---|---|---|---|
定数 | 値 | 曜日 | 日 | 月 | 火 | 水 | 木 | 金|土 |
vbSunday | 1 | 日曜日 | 1 | 2 | 3 | 4 | 5 | 6|7 |
vbMonday | 2 | 月曜日 | 7 | 1 | 2 | 3 | 4 | 5|6 |
vbTuesday | 3 | 火曜日 | 6 | 7 | 1 | 2 | 3 | 4|5 |
vbWednesday | 4 | 水曜日 | 5 | 6 | 7 | 1 | 2 | 3|4 |
vbThursday | 5 | 木曜日 | 4 | 5 | 6 | 7 | 1 | 2|3 |
vbFriday | 6 | 金曜日 | 3 | 4 | 5 | 6 | 7 | 1|2 |
vbSaturday | 7 | 土曜日 | 2 | 3 | 4 | 5 | 6 | 7|1 |
WEEKDAY関数使用例
日付データである「誕生日」から曜日を表す数値を返します。
下記の例では「firstdayofweek」の引数は省略しています。
シートのデータを参照せずに日付関数を引数に設定して時を抽出することも可能です。
日付と認識できる定数を引数に設定することも可能です。
引数「firstdayofweek」に「2(月曜日)」を指定しています。
その為戻り値は6になっています。