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

จะเลือกแถวใน MySQL ที่>=1 วันจากวันที่ปัจจุบันได้อย่างไร


หากต้องการรับข้อมูลที่มากกว่า 1 วันนับจากวันที่ปัจจุบัน ให้ใช้แนวคิด INTERVAL ใน MySQL

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

mysql> เลือก curdate();+-----------+| curdate() |+-----------+| 2019-11-29 |+-----------+1 แถวในชุด (0.00 วินาที)

ก่อนอื่นเราจะสร้างตาราง -

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

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

mysql> แทรกลงในค่า DemoTable1806 ('2019-11-28'); Query OK, 1 แถวได้รับผลกระทบ (0.00 วินาที)mysql> แทรกลงในค่า DemoTable1806 ('2019-11-29'); Query OK, 1 แถว ได้รับผลกระทบ (0.00 วินาที) mysql> แทรกลงในค่า DemoTable1806 ('2019-11-30'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที) mysql> แทรกลงในค่า DemoTable1806 ('2019-11-25'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.00 วินาที)

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

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

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

<ก่อนหน้า>+---------------------+| DueDate |+--------------------+| 2019-11-28 00:00:00 || 2019-11-29 00:00:00 || 2019-11-30 00:00:00 || 2019-11-25 00:00:00 |+---------------------+4 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อเลือกแถวที่>=1 วันจากวันที่ปัจจุบัน

mysql> เลือก * จาก DemoTable1806 โดยที่ DueDate>=now() - INTERVAL 1 DAY;

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

<ก่อนหน้า>+---------------------+| DueDate |+--------------------+| 2019-11-29 00:00:00 || 2019-11-30 00:00:00 |+---------------------+2 แถวในชุด (0.00 วินาที)