ฟังก์ชัน DAYOFWEEK() ใช้เพื่อคืนค่าลำดับวันในสัปดาห์ จากข้อมูลประเภท DATE, DATETIME หรือ TIMESTAMP โดยผลลัพธ์จะเป็นเลขระหว่าง 1 ถึง 7
ประโยชน์ของฟังก์ชัน DAYOFWEEK()
- ใช้วิเคราะห์ข้อมูลตามลำดับวันในสัปดาห์
- ใช้กรองข้อมูลเฉพาะบางวัน เช่น เฉพาะวันเสาร์–อาทิตย์
- ใช้ร่วมกับ
CASE WHENเพื่อสร้างข้อความจากเลขวัน - สร้างสถิติตามพฤติกรรมรายวัน เช่น ลูกค้ามักเข้าใช้งานวันไหนบ่อย
ตัวอย่างการใช้งาน
ดูว่า ‘2025-04-10’ เป็นวันอะไร
SQL
SELECT DAYOFWEEK('2025-04-10') AS weekday_number;
-- ผลลัพธ์: 5 (คือ Thursday)ดึงลำดับวันจากวันเวลาปัจจุบัน
SQL
SELECT DAYOFWEEK(NOW()) AS today_day_index;ตัวอย่างการประยุกต์ใช้งาน
แสดงคำสั่งซื้อที่เกิดขึ้นในวันเสาร์–อาทิตย์
SQL
SELECT *
FROM orders
WHERE DAYOFWEEK(order_date) IN (1, 7); -- 1=Sunday, 7=Saturdayสรุปยอดขายตามวันในสัปดาห์
SQL
SELECT DAYOFWEEK(order_date) AS weekday_number, COUNT(*) AS total_orders
FROM orders
GROUP BY DAYOFWEEK(order_date)
ORDER BY weekday_number;แสดงชื่อวันจากเลขด้วย CASE
SQL
SELECT
order_date,
CASE DAYOFWEEK(order_date)
WHEN 1 THEN 'Sunday'
WHEN 2 THEN 'Monday'
WHEN 3 THEN 'Tuesday'
WHEN 4 THEN 'Wednesday'
WHEN 5 THEN 'Thursday'
WHEN 6 THEN 'Friday'
WHEN 7 THEN 'Saturday'
END AS weekday_name
FROM orders;