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

ฟังก์ชัน HOUR() ใช้เพื่อดึง “ชั่วโมง” (0–23) จากค่าเวลาหรือวันเวลา เช่น '15:30:00' หรือ '2025-04-10 08:45:00' เหมาะสำหรับการดึงชั่วโมง (Hour) จากข้อมูลประเภท TIME, DATETIME หรือ TIMESTAMP เช่น ใช้วิเคราะห์ช่วงเวลาการทำรายการ, สรุปสถิติรายชั่วโมง, หรือระบบล็อกเวลา

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

  1. ใช้วิเคราะห์ข้อมูลตามช่วงเวลา เช่น ชั่วโมงที่มีการใช้งานสูงสุด
  2. ใช้กรองรายการที่เกิดในช่วงเวลาหนึ่ง เช่น 08:00–17:00
  3. ใช้จัดกลุ่มข้อมูลรายชั่วโมง เช่น ยอดขายต่อชั่วโมง
  4. เหมาะกับระบบวิเคราะห์กิจกรรม, เช็กอิน, ระบบจอง, และระบบธุรกรรม

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

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