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

ฟังก์ชัน MAKETIME() ใช้เพื่อสร้างค่า TIME ในรูปแบบ HH:MM:SS จากค่าชั่วโมง (HOUR), นาที (MINUTE) และวินาที (SECOND) เหมาะสำหรับการสร้างช่วงเวลาแบบกำหนดเอง เช่น 09:00:00, 15:30:45

  • ใช้สร้างค่าเวลาแบบไดนามิก
  • รองรับค่าที่เกินขอบเขต เช่น MAKETIME(25, 0, 0) จะคืนค่า 25:00:00

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

  1. ใช้สร้างค่า TIME สำหรับบันทึกลงฐานข้อมูล
  2. ใช้คำนวณเวลาตามสูตร เช่น กำหนดชั่วโมงทำงาน, เวลานัดหมาย
  3. ใช้ร่วมกับ ADDTIME(), SUBTIME() เพื่อบวกหรือลบเวลา
  4. เหมาะสำหรับระบบจอง, ระบบเข้างาน, ระบบรายงานเวลา

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

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)
แชร์เรื่องนี้