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

เลือกแถวโดยลบวันที่ใน WHERE ใน MySQL?


สำหรับสิ่งนี้ ให้ใช้ TIMESTAMPDIFF() ให้เราสร้างตาราง -

mysql> สร้างตาราง demo42−> (−> start_date datetime−> );ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.77 วินาที)

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

mysql> แทรกลงในค่า demo42 ('2020-01-10 12:30:05'); เคียวรีตกลง, 1 แถวได้รับผลกระทบ (0.11 วินาที)mysql> แทรกลงในค่า demo42 ('2019-02-24 10:40) :45');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที)mysql> แทรกลงในค่า demo42 ('2020-05-12 05:45:55'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกเข้าไป ค่า demo42 ('2020-05-12 05:40:55'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า demo42 ('2020-05-12 05:42:55'); แบบสอบถามตกลง , 1 แถวได้รับผลกระทบ (0.11 วินาที)

แสดงบันทึกจากตารางโดยใช้คำสั่ง select -

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

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

<ก่อนหน้า>+---------------------+| start_date |+---------------------+| 2020-01-10 12:30:05 || 2019-02-24 10:40:45 || 2020-05-12 05:45:55 || 2020-05-12 05:40:55 || 2020-05-12 05:42:55 |+---------------------+5 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อเลือกแถวที่มี TIMESTAMPDIFF -

mysql> เลือก *จาก demo42−> โดยที่ ABS(TIMESTAMPDIFF(MINUTE,start_date, '2020−05-12 05:40:55')) <5;

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

<ก่อนหน้า>+---------------------+| start_date |+---------------------+| 2020−05-12 05:40:55 || 2020−05-12 05:42:55 |+---------------------+2 แถวในชุด (0.00 วินาที)