MySQL การใช้งานฟังก์ชัน DAYOFWEEK()

ฟังก์ชัน DAYOFWEEK() ใช้เพื่อคืนค่าลำดับวันในสัปดาห์ จากข้อมูลประเภท DATE, DATETIME หรือ TIMESTAMP โดยผลลัพธ์จะเป็นเลขระหว่าง 1 ถึง 7

ประโยชน์ของฟังก์ชัน DAYOFWEEK()

  1. ใช้วิเคราะห์ข้อมูลตามลำดับวันในสัปดาห์
  2. ใช้กรองข้อมูลเฉพาะบางวัน เช่น เฉพาะวันเสาร์–อาทิตย์
  3. ใช้ร่วมกับ CASE WHEN เพื่อสร้างข้อความจากเลขวัน
  4. สร้างสถิติตามพฤติกรรมรายวัน เช่น ลูกค้ามักเข้าใช้งานวันไหนบ่อย

ตัวอย่างการใช้งาน

ดูว่า ‘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;
แชร์เรื่องนี้