ฟังก์ชัน DAYOFYEAR() ใช้เพื่อคืนค่าลำดับของวันที่ในปี จากวันที่ที่ระบุ เช่น '2025-04-10' คือวันที่ 100 ของปี เหมาะสำหรับการคำนวณลำดับวันที่ในปี เช่น วันแรกของปี = 1, วันสุดท้ายของปี = 365 หรือ 366 (ถ้าเป็นปีอธิกสุรทิน)
ประโยชน์ของฟังก์ชัน DAYOFYEAR()
- ใช้หาวันที่ของปี (1–365/366)
- ใช้สร้างกราฟแสดงข้อมูลต่อเนื่องรายวันในปีเดียวกัน
- ใช้เปรียบเทียบข้อมูลจากหลายปีในวันเดียวกัน เช่น “วันวาเลนไทน์ของทุกปี”
- ใช้จัดอันดับหรือวิเคราะห์พฤติกรรมตามวันในรอบปี
รูปแบบการใช้งาน
DAYOFYEAR(date)
dateคือวันที่ที่ต้องการตรวจสอบ เช่น'2025-01-01',NOW(),order_date
ตัวอย่างการใช้งาน
ดูว่าวันที่ 10 เมษายน 2025 เป็นวันที่เท่าไหร่ของปี
SQL
SELECT DAYOFYEAR('2025-04-10') AS day_of_year;
-- ผลลัพธ์: 100ดูว่าวันที่ปัจจุบันอยู่ลำดับที่เท่าไหร่ของปี
SQL
SELECT DAYOFYEAR(CURDATE()) AS today_day_number;ตัวอย่างการประยุกต์ใช้งาน
สรุปยอดขายตามลำดับวันในปี
SQL
SELECT DAYOFYEAR(order_date) AS day_number, COUNT(*) AS total_orders
FROM orders
GROUP BY DAYOFYEAR(order_date)
ORDER BY day_number;เปรียบเทียบข้อมูลในวันเดียวกันของปีต่าง ๆ
SQL
SELECT order_id, order_date
FROM orders
WHERE DAYOFYEAR(order_date) = DAYOFYEAR('2025-02-14'); -- วันวาเลนไทน์