ฟังก์ชัน HOUR() ใช้เพื่อดึง “ชั่วโมง” (0–23) จากค่าเวลาหรือวันเวลา เช่น '15:30:00' หรือ '2025-04-10 08:45:00' เหมาะสำหรับการดึงชั่วโมง (Hour) จากข้อมูลประเภท TIME, DATETIME หรือ TIMESTAMP เช่น ใช้วิเคราะห์ช่วงเวลาการทำรายการ, สรุปสถิติรายชั่วโมง, หรือระบบล็อกเวลา
ประโยชน์ของฟังก์ชัน HOUR()
- ใช้วิเคราะห์ข้อมูลตามช่วงเวลา เช่น ชั่วโมงที่มีการใช้งานสูงสุด
- ใช้กรองรายการที่เกิดในช่วงเวลาหนึ่ง เช่น
08:00–17:00 - ใช้จัดกลุ่มข้อมูลรายชั่วโมง เช่น ยอดขายต่อชั่วโมง
- เหมาะกับระบบวิเคราะห์กิจกรรม, เช็กอิน, ระบบจอง, และระบบธุรกรรม
รูปแบบการใช้งาน
HOUR(time_value)
time_valueคือค่าที่เป็นTIME,DATETIME,TIMESTAMPหรือข้อความเวลา เช่น'2025-04-10 14:30:00'
ตัวอย่างการใช้งาน
ดึงชั่วโมงจาก DATETIME
SQL
SELECT HOUR('2025-04-10 15:45:00') AS hour_part;
-- ผลลัพธ์: 15ดึงชั่วโมงจากเวลาปัจจุบัน
SQL
SELECT HOUR(NOW()) AS current_hour;
-- ถ้าเวลาปัจจุบันคือ 14:32:00 → ผลลัพธ์จะเป็น: 14กรองรายการที่เกิดในช่วงเช้า (08:00–11:59)
SQL
SELECT *
FROM logs
WHERE HOUR(login_time) BETWEEN 8 AND 11;สรุปยอดคำสั่งซื้อรายชั่วโมง
SQL
SELECT HOUR(order_time) AS order_hour, COUNT(*) AS total_orders
FROM orders
GROUP BY HOUR(order_time)
ORDER BY order_hour;