สำหรับสิ่งนี้ ใช้คำสั่ง ORDER BY วันที่ปัจจุบันเป็นดังนี้ −
mysql> เลือกเลย ();+---------------------+| ตอนนี้() |+---------------------+| 2019-06-09 21:08:16 |+--------------------- +1 แถวในชุด (0.00 วินาที)
ให้เราสร้างตารางก่อน -
mysql> สร้างตาราง DemoTable -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, -> DueDate datetime -> ); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.62 วินาที)
แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -
mysql> แทรกลงในค่า DemoTable(DueDate) ('2019-06-12'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.24 วินาที)mysql> แทรกลงในค่า DemoTable (DueDate) ('2019-06-01');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.37 วินาที)mysql> แทรกลงในค่า DemoTable (DueDate) ('2019-06-05'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.20 วินาที) mysql> แทรกลงในค่า DemoTable (DueDate) ( '2019-06-10');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที)mysql> แทรกลงในค่า DemoTable (DueDate) ('2019-06-11'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.66 วินาที)ก่อน>แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -
mysql> เลือก *จาก DemoTable;ผลลัพธ์
<ก่อนหน้า>+----+---------------------+| รหัส | DueDate |+----+---------------------+| 1 | 2019-06-12 00:00:00 || 2 | 2019-06-01 00:00:00 || 3 | 2019-06-05 00:00:00 || 4 | 2019-06-10 00:00:00 || 5 | 2019-06-11 00:00:00 |+-----------+---------------------+5 แถวในชุด (0.00 วินาที)
นี่คือแบบสอบถามที่จะสั่งซื้อโดยเพื่อรับส่วนต่างและสั่งซื้อวันที่ ความแตกต่างระหว่างวันที่จะแสดงในคอลัมน์แยกต่างหาก -
mysql> เลือก Id,DueDate,DATEDIFF(DueDate, CURDATE()) AS t จาก DemoTable -> สั่งซื้อตามกรณีเมื่อ t <0 แล้ว 1 ELSE 0 END, t;