ฟังก์ชัน TIMEDIFF() ใช้เพื่อหาค่าความแตกต่างระหว่างเวลา 2 ค่า (DATETIME หรือ TIME) แล้วคืนค่าเป็น TIME โดยแสดงผลในรูปแบบ HH:MM:SS (ชั่วโมง:นาที:วินาที) เหมาะสำหรับวิเคราะห์เวลาทำงาน, เวลาล่าช้า, หรือระยะห่างระหว่าง 2 เหตุการณ์
ประโยชน์ของฟังก์ชัน TIMEDIFF()
- หาระยะเวลาทำงานระหว่างเวลาเข้า-ออก
- ตรวจสอบความล่าช้า/ความเร็วจากเวลาที่กำหนด
- ใช้สรุปเวลาทำงาน/เวลาการใช้งานระบบ
- คืนค่าที่สามารถใช้ต่อกับฟังก์ชันอื่น เช่น
TIME_TO_SEC()
รูปแบบการใช้งาน
TIMEDIFF(time1, time2)
time1คือค่าเวลาที่นำมาลบ (เวลาหลัง)time2คือค่าเวลาที่เป็นตัวตั้ง (เวลาก่อนหน้า)- ทั้ง
time1และtime2ต้องเป็นชนิดเดียวกัน (TIMEหรือDATETIMEทั้งคู่)
ตัวอย่างการใช้งาน
หาค่าความต่างของเวลา 08:30:00 และ 07:15:00
SQL
SELECT TIMEDIFF('08:30:00', '07:15:00') AS diff;
-- ผลลัพธ์: 01:15:00หาค่าความต่างจาก DATETIME
SQL
SELECT TIMEDIFF('2025-04-10 14:00:00', '2025-04-10 12:30:00') AS duration;
-- ผลลัพธ์: 01:30:00ตัวอย่างการประยุกต์ใช้งาน
หาระยะเวลาการทำงานต่อวัน
SQL
SELECT employee_id, check_in, check_out,
TIMEDIFF(check_out, check_in) AS work_duration
FROM attendance;ตรวจสอบเวลาการใช้งานระบบของผู้ใช้
SQL
SELECT user_id, login_time, logout_time,
TIMEDIFF(logout_time, login_time) AS session_length
FROM user_sessions;