ฟังก์ชัน LOCALTIME() ใช้เพื่อคืนค่าวันที่และเวลาปัจจุบันของระบบ (Local Time) ในรูปแบบ YYYY-MM-DD HH:MM:SS เหมาะกับการบันทึกเวลาการทำรายการ เช่น การเข้าสู่ระบบ การสั่งซื้อ หรือการสร้างบันทึกต่าง ๆ
- ผลลัพธ์เหมือนกับ
NOW()และCURRENT_TIMESTAMP() - ค่าที่ได้จะขึ้นอยู่กับ Timezone ของ MySQL Server หรือ Session ปัจจุบัน
ประโยชน์ของฟังก์ชัน LOCALTIME()
- ใช้บันทึกวันและเวลาปัจจุบันในการ Insert/Update ข้อมูล
- ใช้แสดงเวลาปัจจุบันในรายงาน หรือแสดงบน Dashboard
- ใช้เปรียบเทียบกับฟิลด์วันเวลา เช่น
created_at,login_time - ใช้ร่วมกับ 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()