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

แปลงจาก varchar เป็น datetime และเปรียบเทียบใน MySQL หรือไม่


สำหรับสิ่งนี้ คุณสามารถใช้ STR_TO_DATE() ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable1565 -> ( -> ArrivalDatetime varchar(40) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.82 วินาที)

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

mysql> แทรกลงในค่า DemoTable1565('10/01/2019 21:29:35');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.22 วินาที)mysql> แทรกลงในค่า DemoTable1565('10/13/2019 4:56 :00');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที)mysql> แทรกลงในค่า DemoTable1565 ('10/13/2018 12:40:46'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกเข้าไป ค่า DemoTable1565('10/13/2019 21:30:00');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.58 วินาที)

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

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

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

<ก่อนหน้า>+---------------------+| มาถึงวันที่เวลา |+---------------------+| 10/01/2019 21:29:35 || 10/13/2019 4:56:00 || 10/13/2018 12:40:46 || 10/13/2019 21:30:00 |+----------------------+4 แถวในชุด (0.00 วินาที)

วันที่ปัจจุบันเป็นดังนี้ −

mysql> เลือกเลย ();+---------------------+| ตอนนี้() |+---------------------+| 2019-10-13 21:34:14 |+--------------------- +1 แถวในชุด (0.00 วินาที)

นี่คือข้อความค้นหาที่จะแปลงจาก varchar เป็น datetime และเปรียบเทียบ -

mysql> เลือก * จาก DemoTable1565 โดยที่ str_to_date(ArrivalDatetime,'%m/%d/%Y')=curdate();

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

<ก่อนหน้า>+---------------------+| มาถึงวันที่เวลา |+---------------------+| 10/13/2019 4:56:00 || 10/13/2019 21:30:00 |+----------------------+2 แถวในชุด 4 คำเตือน (0.03 วินาที)