ตามที่ทราบว่า CURDATE() ส่งคืนเฉพาะส่วนวันที่เท่านั้น การใช้ INTERVAL หน่วยเวลาร่วมกับ CURDATE() อาจดูคลุมเครือ แต่ MySQL จะแทนวันที่ปัจจุบันด้วยเวลา 00:00:00 เสมอ ดังนั้น เมื่อนำ INTERVAL หน่วยเวลามาคำนวณกับ CURDATE() ระบบจะนำเวลาส่วนนั้นมาคิดรวมด้วย ตัวอย่างต่อไปนี้จะช่วยอธิบายให้เข้าใจง่ายขึ้น:
mysql> SELECT CURDATE() + INTERVAL 0 HOUR; +-----------------------------+ | curdate() + INTERVAL 0 HOUR | +-----------------------------+ | 2017-10-28 00:00:00 | +-----------------------------+ mysql> SELECT CURDATE() + INTERVAL 1 HOUR; +-----------------------------+ | curdate() + INTERVAL 1 HOUR | +-----------------------------+ | 2017-10-28 01:00:00 | +-----------------------------+ mysql> SELECT CURDATE() + INTERVAL 2 HOUR; +-----------------------------+ | CURDATE() + INTERVAL 2 HOUR | +-----------------------------+ | 2017-10-28 02:00:00 | +-----------------------------+
จากตัวอย่างจะเห็นได้ว่า MySQL จัดการ CURDATE() เป็น DATETIME ที่มีเวลา 00:00:00 ทำให้การบวกหรือลบชั่วโมง นาที วินาที ทำงานได้อย่างถูกต้อง