ฟังก์ชัน DATEDIFF() ใช้เพื่อคำนวณความแตกต่างระหว่างวันที่ 2 ค่า โดยผลลัพธ์เป็นจำนวนวัน เหมาะสำหรับงานที่ต้องการคำนวณจำนวนวันระหว่างวันที่สองวัน เช่น การคำนวณอายุ, การหาวันครบกำหนด, หรือการเปรียบเทียบวันหมดอายุ
ประโยชน์ของฟังก์ชัน DATEDIFF()
- ใช้หาจำนวนวันระหว่างวันเริ่มต้นกับวันสิ้นสุด
- ใช้คำนวณอายุ, วันครบกำหนด, ระยะเวลาการใช้งาน
- ใช้กรองข้อมูล เช่น หาเอกสารที่เลยกำหนด
- เหมาะกับระบบการเงิน, จัดการสมาชิก, การนัดหมาย, การวิเคราะห์เวลา
รูปแบบการใช้งาน
DATEDIFF(date1, date2)
ตัวอย่างการใช้งาน
เปรียบเทียบ 2 วันที่
SQL
SELECT DATEDIFF('2025-04-15', '2025-04-10') AS diff;
-- ผลลัพธ์: 5วันย้อนหลัง
SQL
SELECT DATEDIFF('2025-04-10', '2025-04-20') AS diff;
-- ผลลัพธ์: -10ใช้เปรียบเทียบกับวันที่ปัจจุบัน
SQL
SELECT DATEDIFF(CURDATE(), '2025-01-01') AS days_passed;ตัวอย่างการประยุกต์ใช้งาน
คำนวณอายุสมาชิก (นับจากวันเกิด)
SQL
SELECT member_id, birth_date,
DATEDIFF(CURDATE(), birth_date) / 365 AS approx_age_years
FROM members;- หาร 365 เพื่อประมาณอายุเป็นปี
แสดงรายการที่ใกล้ครบกำหนดใน 7 วัน
SQL
SELECT task_id, due_date,
DATEDIFF(due_date, CURDATE()) AS days_left
FROM tasks
WHERE DATEDIFF(due_date, CURDATE()) BETWEEN 0 AND 7;