Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

แบบสอบถาม MySQL เพื่อเลือกวันที่ใกล้เคียงที่สุดตั้งแต่วันนี้?


สมมติว่าวันที่ปัจจุบันคือ 2019-07-25 ตอนนี้เราจะดูตัวอย่างและสร้างตารางที่มีการเพิ่ม ShippingDate ในตาราง

ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable667(ShippingDate datetime);เคียวรีตกลง 0 แถวได้รับผลกระทบ (0.46 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable667 ('2019-01-31'); Query OK, 1 แถวได้รับผลกระทบ (0.18 วินาที)mysql> แทรกลงในค่า DemoTable667 ('2019-07-19'); Query OK, 1 แถว ได้รับผลกระทบ (0.69 วินาที) mysql> แทรกลงในค่า DemoTable667 ('2019-07-23'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า DemoTable667 ('2019-08-24'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.15 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

mysql> เลือก *จาก DemoTable667;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+---------------------+| วันที่จัดส่ง |+---------------------+| 2019-01-31 00:00:00 || 2019-07-19 00:00:00 || 2019-07-23 00:00:00 || 2019-08-24 00:00:00 |+----------------------+4 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อให้ได้วันที่ใกล้เคียงที่สุดตั้งแต่วันนี้ -

mysql> เลือก ShippingDate จาก DemoTable667 โดยที่ date(ShippingDate) =(เลือก min(date(ShippingDate)) จาก DemoTable667 where date(ShippingDate)> date(now()) );

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+---------------------+| วันที่จัดส่ง |+---------------------+| 2019-07-23 00:00:00 |+--------------------- +1 แถวในชุด (0.00 วินาที)