売上データで曜日ごとの売上を調べたい、誕生日の曜日を調べたいといったとき使える方法です
FORMAT_DATE("%A",日付カラム)で英語の曜日を取得できる
FORMAT_DATE("%A",日付カラム) この%Aの部分で日付を曜日フォーマットに変更することができます。
SELECT *, order_date, FORMAT_DATE("%A",order_date) as week
%a を使うと省略の曜日が取得できます
それぞれ先頭は大文字となります
月曜日 / Monday / Mon
火曜日 / Tuesday / Tue
水曜日 / Wednesday / Wed.
木曜日 / Thursday / Thu
金曜日 / Friday / Fri
土曜日 / Saturday / Sat
日曜日 / Sunday / Sun
特定の曜日のデータを抽出したいばあい
副問合せでもいいですし、WITH句で仮想テーブルを作ってもいいですが、わかりやすいのはWITH句なのでサンプルコードはWITH句で
サンプルコード
曜日のカラムを追加した仮想テーブルをまず作ります
その後にWHEREで指定したい曜日の条件式を入れます
WITH master AS (
SELECT *, order_date, FORMAT_DATE("%A",order_date) as week
FROM sales
)
SELECT * FROM master
WHERE week = "Sunday"
複数指定したい場合は IN (”Sunday”,"Saturday")といった形にしてください