สำหรับสิ่งนี้ คุณสามารถใช้ 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 วินาที)