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

ค้นหาบันทึกวันที่หลังจากวันที่เฉพาะจากคอลัมน์ที่มีประเภท VARCHAR ใน MySQL


ให้เราสร้างตารางก่อน ที่นี่เราได้กำหนดวันที่เป็น VARCHAR -

mysql> สร้างตาราง DemoTable1364 -> ( -> ShippingDate varchar(100) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.87 วินาที)

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

mysql> แทรกลงในค่า DemoTable1364 ('01-09-2019 12:34:55'); เคียวรีตกลง ได้รับผลกระทบ 1 แถว (0.17 วินาที)mysql> ลงในค่า DemoTable1364 ('01-07-2018 17:10) :00');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.37 วินาที)mysql> แทรกลงในค่า DemoTable1364 ('24-09-2019 10:31:22'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.24 วินาที) mysql> แทรกเข้าไป ค่า DemoTable1364('20-09-2018 13:00:00');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.13 วินาที)

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

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

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

<ก่อนหน้า>+---------------------+| วันที่จัดส่ง |+--------------------+| 01-09-2019 12:34:55 || 01-07-2018 17:10:00 || 24-09-2019 10:31:22 || 20-09-2018 13:00:00 |+----------------------+4 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อค้นหาบันทึกวันที่หลังจากวันที่เฉพาะจากคอลัมน์ที่มีประเภท VARCHAR -

mysql> เลือก * จาก DemoTable1364 -> โดยที่ str_to_date(ShippingDate,'%d-%m-%Y %H:%i:%s')> str_to_date('2019-09-21 10:31:20' , '%Y-%m-%d %H:%i:%s');

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

<ก่อนหน้า>+---------------------+| วันที่จัดส่ง |+--------------------+| 24-09-2019 10:31:22 |+--------------------- +1 แถวในชุด (0.00 วินาที)