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

แบบสอบถาม MySQL เพื่อเลือกระเบียนที่ใกล้เข้ามาในอีก 12 ชั่วโมงข้างหน้า?


สำหรับสิ่งนี้ คุณสามารถใช้ INTERVAL 12 ชั่วโมงโดยใช้ DATE_ADD() ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable (DueDateTime datetime) แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.60 วินาที)

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

mysql> แทรกลงในค่า DemoTable ('2019-07-12 10:50:30'); เคียวรีตกลง 1 แถวได้รับผลกระทบ (0.29 วินาที)mysql> แทรกลงในค่า DemoTable ('2019-07-12 22:02 :00');ตกลง แบบสอบถาม 1 แถวได้รับผลกระทบ (0.23 วินาที)mysql> แทรกลงในค่า DemoTable ('2019-07-12 11:12:10'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.19 วินาที) mysql> แทรกเข้าไป ค่า DemoTable('2019-07-12 09:02:00');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.10 วินาที)

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

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

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

<ก่อนหน้า>+---------------------+| DueDateTime |+--------------------+| 2019-07-12 10:50:30 || 2019-07-12 22:02:00 || 2019-07-12 11:12:10 || 2019-07-12 09:02:00 |+---------------------+4 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อเลือกระเบียนที่ใกล้เข้ามาในอีก 12 ชั่วโมง -

mysql> เลือก *จาก DemoTable โดยที่ date_add(DueDateTime,ช่วงเวลา 12 ชั่วโมง) BETWEEN NOW() ANDDATE_ADD(NOW(), INTERVAL 12 HOUR);

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

<ก่อนหน้า>+---------------------+| DueDateTime |+--------------------+| 2019-07-12 10:50:30 || 2019-07-12 22:02:00 || 2019-07-12 11:12:10 |+----------------------+3 แถวในชุด (0.00 วินาที)