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

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


ต่อไปนี้เป็นไวยากรณ์ -

เลือก * จาก yourTableNameorder โดย ( yourColumnName> now()) desc, (กรณีที่ yourColumnName> now() จากนั้น yourColumnName จะสิ้นสุด) , yourColumnName desclimit 1;

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

mysql> สร้างตาราง DemoTable1454 -> ( -> วันที่จัดส่ง -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.59 วินาที)

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

mysql> แทรกลงในค่า DemoTable1454 ('2019-10-01'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.22 วินาที) mysql> แทรกลงในค่า DemoTable1454 ('2019-10-03'); แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.25 วินาที) mysql> แทรกลงในค่า DemoTable1454 ('2019-10-05'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.25 วินาที) mysql> แทรกลงในค่า DemoTable1454 ('2019-10-04'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที) mysql> แทรกลงในค่า DemoTable1454 ('2018-10-06'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที) mysql> แทรกลงในค่า DemoTable1454 ('2019-10-06'); แบบสอบถาม ตกลง ได้รับผลกระทบ 1 แถว (0.11 วินาที)

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

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

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

<ก่อนหน้า>+-------------+| วันที่จัดส่ง |+-------------+| 2019-10-01 || 2019-10-03 || 2019-10-05 || 2019-10-04 || 2018-10-06 || 2019-10-06 |+--------------+6 แถวในชุด (0.00 วินาที)

วันที่ปัจจุบันเป็นดังนี้ −

mysql> เลือกเลย ();+---------------------+| ตอนนี้() |+---------------------+| 2019-10-04 21:30:01 |+--------------------- +1 แถวในชุด (0.00 วินาที)

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

mysql> เลือก * จาก DemoTable1454 -> สั่งซื้อโดย ( ShippingDate> now()) desc, -> (กรณีที่ ShippingDate> now() จากนั้น ShippingDate จะสิ้นสุด) , -> ShippingDate desc -> จำกัด 1;

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

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