กำหนดให้แสดงรายการข้อมูลของวันที่ปัจจุบัน
ถ้าเก็บข้อมูลเป็นแบบ DATE ตัวอย่าง date_field เท่ากับ 2011-01-17
จะใช้ เป็น
SELECT * FROM table WHERE date_field=curdate()
ถ้าเก็บข้อมูลเป็น DATETIME ตัวอย่าง date_field เท่ากับ 2011-01-17 13:30:00
จะใช้ เป็น
SELECT * FROM table WHERE date(date_field)=curdate()
ถ้าเก็บข้อมูลวันที่เป็น TIMESTAMP ตัวอย่าง date_field เท่ากับ 1295252454
จะใช้ เป็น
SELECT * FROM table WHERE date(from_unixtime(date_field))=curdate()
กำหนดให้แสดงรายการที่ต้องการให้อยู่นาน 5 วัน นับจากวันที่เพิ่มข้อมูล หรือวันที่ของข้อมูลนั้น
SELECT * FROM table WHERE curdate()<date_add(date_field,interval 5 day)
* ตัวอย่าง
ข้อมูลวันที่ 2011-01-01
ข้อมูลจะแสดงในวันที่
2011-01-01
2011-01-02
2011-01-03
2011-01-04 และ
2011-01-05
หลังจากนั้นจะไม่แสดง
กำหนดให้แสดงรายการข้อมูลย้อนหลัง 5 วันล่าสุด ย้อนหลังจากวันที่ปัจจุบัน รวมวันที่ปัจจุบัน
SELECT * FROM table WHERE date_field>=date_add(curdate(),interval -5 day)
* ตัวอย่าง ปัจจุบันวันที่ 2011-01-05
ข้อมูลของวันที่ ที่มากกว่า 2010-12-31 จะแสดง นั้นคือ
ข้อมูลวันที่
2010-12-31
2011-01-01
2011-01-02
2011-01-03
2011-01-04
และ
2011-01-05 จะแสดง ข้อมูลวันที่ก่อน 2010-12-31 จะไม่แสดง
หมายเหตู::
date_field คือชื่อฟิลด์ในฐานข้อมูลที่เก็บข้อมูลวันที่ ให้เปลี่ยนไปตามชื่อที่กำหนด
curdate() เป็นฟังก์ชัน date ใน mysql แสดงวันที่ปัจจุบัน ในรูปแบบ เช่น 2011-01-01
date() เป็นฟังก์ชัน date ใน mysql สำหรับดึงเฉพาะวันที่ในฟิลด์ข้อมูลวันที่ เช่น
ถ้า date_field='2011-01-01 12:00:00' จะได้ date(date_field)='2011-01-01'
from_unixtime() เป็นฟังก์ชัน date ใน mysql สำหรับเปลี่ยน timestamp ให้อยู่ในรูป datetime
หรือรูปแบบ 2011-01-01 12:00:00 เป็นต้น
date_add() เป็นฟังก์ชัน date ใน mysql สำหรับบวกวันที่ ใช้ร่วมกับ
interval 1 day = บวก 1 วัน
interval -1 day = ลบ 1 วัน
หรือจะใช้ date_sub() เป็นฟังก์ชัน date ใน mysql สำหรับลบวันที่
date_add(curdate(),interval -5 day) มีค่าเท่ากับ date_sub(curdate(),interval 5 day)