ฟังก์ชัน MAKETIME() ใช้เพื่อสร้างค่า TIME ในรูปแบบ HH:MM:SS จากค่าชั่วโมง (HOUR), นาที (MINUTE) และวินาที (SECOND) เหมาะสำหรับการสร้างช่วงเวลาแบบกำหนดเอง เช่น 09:00:00, 15:30:45
- ใช้สร้างค่าเวลาแบบไดนามิก
- รองรับค่าที่เกินขอบเขต เช่น
MAKETIME(25, 0, 0)จะคืนค่า25:00:00
ประโยชน์ของฟังก์ชัน MAKETIME()
- ใช้สร้างค่า
TIMEสำหรับบันทึกลงฐานข้อมูล - ใช้คำนวณเวลาตามสูตร เช่น กำหนดชั่วโมงทำงาน, เวลานัดหมาย
- ใช้ร่วมกับ
ADDTIME(),SUBTIME()เพื่อบวกหรือลบเวลา - เหมาะสำหรับระบบจอง, ระบบเข้างาน, ระบบรายงานเวลา
รูปแบบการใช้งาน
MAKETIME(hour, minute, second)
ตัวอย่างการใช้งาน
สร้างค่าเวลา 08:30:00
SQL
SELECT MAKETIME(8, 30, 0) AS result;
-- ผลลัพธ์: 08:30:00สร้างเวลา 15:45:20
SQL
SELECT MAKETIME(15, 45, 20) AS result;
-- ผลลัพธ์: 15:45:20สร้างเวลาเกิน 24 ชั่วโมง
SQL
SELECT MAKETIME(27, 15, 0) AS result;
-- ผลลัพธ์: 27:15:00
-- ใน MySQL (แสดงเวลารวมได้มากกว่า 24 ชม.)ตัวอย่างการประยุกต์ใช้งาน
สร้างเวลาเริ่ม–สิ้นสุดในระบบจองห้อง
SQL
SELECT room_id,
MAKETIME(start_hour, 0, 0) AS start_time,
MAKETIME(end_hour, 0, 0) AS end_time
FROM room_schedule;คำนวณเวลาทำงานตามชั่วโมงที่บันทึกไว้
SQL
SELECT employee_id,
MAKETIME(work_hours, 0, 0) AS total_time
FROM work_logs;หมายเหตุ
- ถ้าค่าใดค่าหนึ่งเป็น
NULLผลลัพธ์จะเป็นNULL - สามารถใส่ชั่วโมงเกิน 24 ได้ (ระบบจะคืนค่า
TIMEแบบยืดหยุ่น เช่น26:30:00)