Query condition on datetime type column
- เมื่อเราเปิด Microsoft SQL Server Management Studio ขึ้นมา
- ทำการ select หรือ insert หรือ อาไรก็ชั่งที่เกี่ยวกับ datetime
- ตอนเริ่มต้นครั้งแรกๆ งงแน่ๆ ว่าเราจะใส่ตัวเลขยังไงระหว่าง วัน กับ เดือน
ตัวอย่าง
c1 - c2 - c3[y-m-d]
1 - a - 2009-01-02
2 - b - 2009-02-01
3 - c - 2009-01-03
4 - d - 2009-03-01
- ถ้าเราต้องการค้นหา row ที่ c3 เป็น วันที่ 1 เดือน 2 ปี 2009 ซึ่งผลลัพธ์ต้องได้ 2 - b - 2009-02-01
select * from table1 where c3 = '1/2/2009'
- ผลลัพของ query เราจะได้ 1 - a - 2009-01-02 ซึ่งไม่ตรงตามที่เราต้องการ
- คือ จริงๆ แล้ว Default ของโปรแกรมจะเป็น set dateformat mdy เริ่มต้นเลย
- แต่ถ้าเราต้องการใส่เงื่อนไขแบบเนี๋ย '1/2/2009' ให้เราบอก query มอง datetime แบบ dmy ก่อน query เราก็จะได้ 2 - b -2009-02-01
set dateformat dmy
select * from table1 where c3 = '1/2/2009'
- ซึ่งปกติผุ้เขียนก็ไม่ค่อยใช้แบบนี้อ่ะ / แต่จะใช้ - ชัวร์กว่าเยอะเลยคือ yyyy-mm-dd ปีเดือนวัน จำง่ายดี
- การ insert , update, delete ก็เช่นกัน
No comments:
Post a Comment