ฟังก์ชัน MAKEDATE() ใช้เพื่อสร้างวันที่ (DATE) จากปี (YEAR) และลำดับวันในปี (DAYOFYEAR) เหมาะสำหรับการสร้างวันที่ (DATE) จากเลขปีและเลขวันที่ในปี (day-of-year) เช่น วันที่ 100 ของปี 2025 ก็คือ 2025-04-10
ประโยชน์ของฟังก์ชัน MAKEDATE()
- แปลงข้อมูลปีและลำดับวันเป็นวันจริงในปฏิทิน
- ใช้สร้างช่วงวันที่ในระบบที่จัดเก็บวันเป็นรูปแบบเชิงตัวเลข
- เหมาะสำหรับระบบการเงิน, บันทึกที่จัดเก็บเป็นปี + วัน, ระบบสถิติแบบต่อเนื่อง
รูปแบบการใช้งาน
MAKEDATE(year, dayofyear)
yearคือปี ค.ศ. (เช่น2025)dayofyearคือลำดับของวันในปีนั้น (1–365 หรือ 366 ถ้าเป็น leap year)
ตัวอย่างการใช้งาน
วันที่ 100 ของปี 2025 คือวันอะไร?
SQL
SELECT MAKEDATE(2025, 100) AS result;
-- ผลลัพธ์: 2025-04-10วันที่ 60 ของปีอธิกสุรทิน (Leap Year) 2024
SQL
SELECT MAKEDATE(2024, 60) AS result;
-- ผลลัพธ์: 2024-02-29สร้างตารางวันจากข้อมูลที่เก็บเป็น year + day_number
SQL
SELECT employee_id, year_joined, day_joined,
MAKEDATE(year_joined, day_joined) AS join_date
FROM employee_raw;หมายเหตุ
- ถ้า
dayofyearไม่อยู่ในช่วง 1–365/366 ผลลัพธ์จะเป็นNULL - ควรตรวจสอบให้แน่ใจว่าป้อนค่าถูกต้องโดยเฉพาะ
dayofyearในปีปกติหรือปีอธิกสุรทิน