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

แปลงวันที่ไม่อยู่ในรูปแบบที่เหมาะสมกับ MySQL?


สมมติว่าวันที่อยู่ในประเภทข้อมูล varchar เช่น ไม่อยู่ในรูปแบบวันที่

ให้เราสร้างตารางก่อน ต่อไปนี้เป็นแบบสอบถาม -

mysql> สร้างตาราง convertDateDemo -> ( -> AdmissionDate varchar(200) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.63 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อแทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก -

mysql> แทรกลงในค่า convertDateDemo ('April 04 2019'); Query OK, 1 แถวที่ได้รับผลกระทบ (0.18 วินาที)mysql> แทรกลงในค่า convertDateDemo ('พฤษภาคม 05 2018'); Query OK, 1 แถวได้รับผลกระทบ (0.16 วินาที )mysql> แทรกลงในค่า convertDateDemo ('01 มกราคม 2012'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงในค่า convertDateDemo ('12 มิถุนายน 2559'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) 

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

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

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

<ก่อนหน้า>+-----------------+| AdmissionDate |+-----------------+| 04 เมษายน 2019 || 05 พฤษภาคม 2018 || 01 มกราคม 2012 || 12 มิถุนายน 2559 |+-----------------+4 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อแปลงวันที่ด้วย MySQL -

mysql> เลือก STR_TO_DATE(AdmissionDate, '%M %e %Y %l:%i%p') AS ConvertDate fromconvertDateDemo;

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

<ก่อนหน้า>+---------------------+| ConvertDate |+--------------------+| 2019-04-04 00:00:00 || 2018-05-05 00:00:00 || 2012-01-01 00:00:00 || 2016-06-12 00:00:00 |+----------------------+4 แถวในชุด (0.05 วินาที)