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

ฟังก์ชัน WEEKDAY() ใช้เพื่อคืนค่าหมายเลขวันในสัปดาห์ ของวันที่ที่ระบุ โดยเริ่มนับจากวันจันทร์ (Monday = 0) โดยจะให้ค่าเป็นเลขจำนวนเต็ม 0 – 6 ฟังก์ชันนี้ต่างจากฟังก์ชัน DAYOFWEEK() ที่เริ่มจากวันอาทิตย์

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

  1. ใช้จัดกลุ่มข้อมูลตามวันในสัปดาห์ (เหมาะกับงานวิเคราะห์พฤติกรรมรายวัน)
  2. ใช้ในการแยกวันทำงานกับวันหยุด
  3. ใช้กรองข้อมูลเฉพาะวัน เช่น ดูข้อมูลเฉพาะวันจันทร์

รูปแบบการใช้งาน

WEEKDAY(date)
  • date คือค่าวันที่ เช่น '2025-04-10', NOW(), order_date
  • ใช้สำหรับระบบที่วันเริ่มต้นสัปดาห์เป็น “วันจันทร์”

ค่าเลขที่ได้จาก WEEKDAY()

ค่าที่ได้จาก WEEKDAY() วัน (ภาษาอังกฤษ) วัน (ภาษาไทย)
0 Monday วันจันทร์
1 Tuesday วันอังคาร
2 Wednesday วันพุธ
3 Thursday วันพฤหัสบดี
4 Friday วันศุกร์
5 Saturday วันเสาร์
6 Sunday วันอาทิตย์

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

ตรวจสอบว่า '2025-04-10' เป็นวันอะไร

SQL
SELECT WEEKDAY('2025-04-10') AS weekday_num;
-- ผลลัพธ์: 3 (Thursday)

ดึงวันในสัปดาห์จากวันที่ปัจจุบัน

SQL
SELECT WEEKDAY(NOW()) AS today_weekday;

ใช้ใน WHERE เพื่อกรองเฉพาะวันจันทร์

SQL
SELECT *
FROM schedules
WHERE WEEKDAY(schedule_date) = 0;

จัดกลุ่มตามวัน

SQL
SELECT WEEKDAY(created_at) AS weekday,
       COUNT(*) AS total
FROM orders
GROUP BY WEEKDAY(created_at)
ORDER BY weekday;
แชร์เรื่องนี้