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

ฟังก์ชัน DAYOFYEAR() ใช้เพื่อคืนค่าลำดับของวันที่ในปี จากวันที่ที่ระบุ เช่น '2025-04-10' คือวันที่ 100 ของปี เหมาะสำหรับการคำนวณลำดับวันที่ในปี เช่น วันแรกของปี = 1, วันสุดท้ายของปี = 365 หรือ 366 (ถ้าเป็นปีอธิกสุรทิน)

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

  1. ใช้หาวันที่ของปี (1–365/366)
  2. ใช้สร้างกราฟแสดงข้อมูลต่อเนื่องรายวันในปีเดียวกัน
  3. ใช้เปรียบเทียบข้อมูลจากหลายปีในวันเดียวกัน เช่น “วันวาเลนไทน์ของทุกปี”
  4. ใช้จัดอันดับหรือวิเคราะห์พฤติกรรมตามวันในรอบปี

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

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'); -- วันวาเลนไทน์
แชร์เรื่องนี้