ฟังก์ชัน WEEKOFYEAR() ใช้เพื่อคืนค่าหมายเลขของสัปดาห์ (week number) ของปี โดยถือว่าสัปดาห์เริ่มต้นในวันอาทิตย์ และสัปดาห์แรกของปีคือสัปดาห์ที่มีวันที่ 1 มกราคม ให้ผลลัพธ์ในช่วง 1 – 53
ประโยชน์ของฟังก์ชัน WEEKOFYEAR()
- ใช้จัดกลุ่มข้อมูลตามสัปดาห์ เช่น รายงานรายสัปดาห์
- ใช้วิเคราะห์พฤติกรรมหรือกิจกรรมรายสัปดาห์ในปีนั้น
- ใช้กรองข้อมูลเฉพาะสัปดาห์ เช่น สัปดาห์ที่ 10 ของปี
รูปแบบการใช้งาน
WEEKOFYEAR(date)
dateคือค่าวันที่ (ชนิดDATE,DATETIME,TIMESTAMP)
ตัวอย่างการใช้งาน
แสดงสัปดาห์ของปีจากวันที่ 10 เมษายน 2025
SQL
SELECT WEEKOFYEAR('2025-04-10') AS week_num;
-- ผลลัพธ์: 15ใช้กับวันที่ปัจจุบัน
SQL
SELECT WEEKOFYEAR(NOW()) AS current_week;ตัวอย่างการประยุกต์ใช้งาน
สรุปยอดขายตามสัปดาห์ของปี
SQL
SELECT WEEKOFYEAR(order_date) AS week_num,
SUM(total_amount) AS weekly_sales
FROM orders
GROUP BY week_num
ORDER BY week_num;กรองรายการที่เกิดในสัปดาห์ที่ 40
SQL
SELECT *
FROM events
WHERE WEEKOFYEAR(event_date) = 40;หมายเหตุ
WEEKOFYEAR()ไม่สามารถปรับโหมดนับเองได้ ใช้ได้แบบเดียวเท่านั้น- สัปดาห์แรกของปีอาจเริ่มจากปลายปีก่อน หากวันที่ 1 ม.ค. อยู่ในช่วงกลางสัปดาห์
- ถ้าต้องการควบคุมวันเริ่มต้น/รูปแบบ ควรใช้
WEEK(date, mode)แทน