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

วิธีแปลงฟิลด์ char เป็นฟิลด์ datetime ใน MySQL?


ให้เราสร้างตารางก่อน ที่นี่ เราได้ประกาศวันที่ในรูปแบบอักขระ -

mysql> สร้างตาราง DemoTable1472 -> ( -> ShippingDate char(35) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.46 วินาที)

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

mysql> แทรกลงในค่า DemoTable1472 ('12/31/2017 10:50'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที)mysql> แทรกลงในค่า DemoTable1472 ('01/10/2018 12:00');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที)mysql> แทรกลงในค่า DemoTable1472 ('03/20/2019 09:30'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.14 วินาที)

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

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

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

<ก่อนหน้า>+-----------------+| วันที่จัดส่ง |+-------------------+| 12/31/2017 10:50 || 01/10/2018 12:00 || 03/20/2019 09:30 |+-----------------+3 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อแปลงฟิลด์ถ่านเป็นฟิลด์วันที่และเวลาใน MySQL -

mysql> เลือก str_to_date(replace(ShippingDate,'/',','),'%,%,% %T') จาก DemoTable1472;

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

<ก่อน>+--------------------------------------------- --------------+| str_to_date(แทนที่(ShippingDate,'/',','),'%m,%d,%Y %T') |+-------------------- ------------------------------------+| 2017-12-31 10:50:00 || 2018-01-10 12:00:00 || 2019-03-20 09:30:00 |+-------------------------------------- --------------------+3 แถวในชุด (0.00 วินาที)