-----------------------------------------------------------------------------------
SELECT * FROM events WHERE eventDateTime <= DATEADD(day, 45, GetDate()) or, indeed, SELECT * FROM events WHERE DATEDIFF(day, eventDateTime, GetDate()) <= 45 (or maybe swap "eventDateTime" and "GetDate()" in that last one... I can never remember that).
- query ด้านบนเป็นของ MySQL นะ ใน MSSQL ไม่มี date_sub() หว่า
- MSSQL เราสามารถใช้ dateadd(day, -n, getDate()) ซึ่ง n คือ ตัวเลขจะย้อนจากปัจจุบันไปกี่วัน
- ซึ่งที่ใช้ประจำคือ ใช้ dateadd() เพิ่มวันเท่านั้น ก็พึ่งรู้วันนี้อ่ะ ว่าใส่เป็นค่าลบจะย้อนวันได้ ^^'
ตัวอย่าง
ต้องการ select วันที่ ย้อนหลังไป 90 วัน จะเป็นวันที่เท่าไหร่
select dateAdd(day, -90, getDate())
select dateAdd(d, -90, getDate())
ต้องการ select ย้อนหลังจากวันนี้ไป 3 เดือน
select dateAdd(month, -3, getDate())
select dateAdd(m, -3, getDate())
ต้องการ select ย้อนหลังจากวันนี้ไป 1 ปี
select dateAdd(year, -1, getDate())
select dateAdd(y, -1, getDate())
ข้อมูลเพิ่มเติม
No comments:
Post a Comment