ฟังก์ชัน CURDATE() ใน MySQL ใช้เพื่อคืนค่าวันที่ปัจจุบัน (Current Date) ของระบบในรูปแบบ YYYY-MM-DD (เช่น 2025-04-10) เหมาะสำหรับงานที่ต้องการใช้งานวันที่ปัจจุบัน เช่น รายงาน, ระบบแจ้งเตือน, ระบบจอง, หรือการกรองข้อมูลตามวันที่
รูปแบบการใช้งาน
CURDATE()
ประโยชน์ของฟังก์ชัน CURDATE()
- ใช้เปรียบเทียบกับข้อมูลวันที่ เช่น วันหมดอายุ, วันนัดหมาย, วันสร้างข้อมูล
- ใช้กำหนดเงื่อนไขในการค้นหา เช่น “ข้อมูลที่สร้างวันนี้”
- ใช้แสดงวันที่อัตโนมัติในรายงาน หรือหน้าเว็บ
- ใช้ร่วมกับฟังก์ชันอื่น เช่น
DATEDIFF(),ADDDATE(),SUBDATE()
ตัวอย่างการใช้งาน
แสดงวันที่ปัจจุบัน
SQL
SELECT CURDATE();
-- ผลลัพธ์: 2025-04-10 (ขึ้นอยู่กับวันที่ของระบบ)เปรียบเทียบกับวันที่ในตาราง
SQL
SELECT *
FROM orders
WHERE order_date = CURDATE();- แสดงรายการสั่งซื้อที่เกิดขึ้นวันนี้
หาวันที่ครบกำหนดอีก 30 วันจากวันนี้
SQL
SELECT ADDDATE(CURDATE(), INTERVAL 30 DAY) AS due_date;หมายเหตุ
CURDATE()คืนค่าเฉพาะวันที่ ถ้าต้องการเวลารวมด้วย ให้ใช้NOW()แทน- ฟังก์ชันนี้อิงเวลาตามระบบฐานข้อมูล (server time)
- หากมีการใช้ Timezone ในระบบ ผลลัพธ์อาจต่างกันตามการตั้งค่า