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

ฟังก์ชัน LOCALTIME() ใช้เพื่อคืนค่าวันที่และเวลาปัจจุบันของระบบ (Local Time) ในรูปแบบ YYYY-MM-DD HH:MM:SS เหมาะกับการบันทึกเวลาการทำรายการ เช่น การเข้าสู่ระบบ การสั่งซื้อ หรือการสร้างบันทึกต่าง ๆ

  • ผลลัพธ์เหมือนกับ NOW() และ CURRENT_TIMESTAMP()
  • ค่าที่ได้จะขึ้นอยู่กับ Timezone ของ MySQL Server หรือ Session ปัจจุบัน

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

  1. ใช้บันทึกวันและเวลาปัจจุบันในการ Insert/Update ข้อมูล
  2. ใช้แสดงเวลาปัจจุบันในรายงาน หรือแสดงบน Dashboard
  3. ใช้เปรียบเทียบกับฟิลด์วันเวลา เช่น created_at, login_time
  4. ใช้ร่วมกับ Timezone ของผู้ใช้ในระบบขนาดใหญ่

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

LOCALTIME()

หรือ

LOCALTIME

ตัวอย่างการใช้งาน

แสดงวันและเวลาปัจจุบัน

SQL
SELECT LOCALTIME();
-- ผลลัพธ์ตัวอย่าง: 2025-04-10 16:45:00

ใช้ในคำสั่ง INSERT

SQL
INSERT INTO login_logs (user_id, login_time)
VALUES (101, LOCALTIME());

ใช้ใน WHERE เพื่อกรองรายการที่เกิดวันนี้

SQL
SELECT *
FROM orders
WHERE DATE(order_date) = DATE(LOCALTIME());

หมายเหตุ

  • ค่าเวลาที่ได้จาก LOCALTIME() จะขึ้นอยู่กับ Timezone ของ Server หรือ Session
  • หากต้องการเวลาแบบ real-time ขณะรันคำสั่งจริง ๆ (ไม่ใช่ cached) ควรใช้ SYSDATE()
แชร์เรื่องนี้