ใช้วิธี STR_TO_DATE() จาก MySQL เพื่อแปลง ไวยากรณ์มีดังนี้ที่เราใช้ตัวระบุรูปแบบ ตัวระบุรูปแบบเริ่มต้นด้วย %.
เลือก STR_TO_DATE(yourDateColumnName,'%d.%m.%Y') เป็น anyVariableName FROM yourTableName;
เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้
mysql> สร้างตาราง ConvertIntoDateFormat -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT, -> LoginDate varchar(30), -> คีย์หลัก (Id) -> ); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.47 วินาที)ก่อน>แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −
mysql> แทรกลงในค่า ConvertIntoDateFormat(LoginDate) ('11.01.2019'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงใน ConvertIntoDateFormat(LoginDate) ค่า ('10.04.2017'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า ConvertIntoDateFormat (LoginDate) ('21.10.2016'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงใน ConvertIntoDateFormat (LoginDate) ค่า ('26.09.2018');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที)mysql> แทรกลงใน ConvertIntoDateFormat(LoginDate) ค่า ('25.12.2012');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที)แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้−
mysql> เลือก *จาก ConvertIntoDateFormat;ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+----+-----------+| รหัส | วันที่เข้าสู่ระบบ |+----+-----------+| 1 | 11.01.2019 || 2 | 10.04.2017 || 3 | 21.10.2016 || 4 | 26.09.2018 || 5 | 25.12.2012 |+----+------------+5 แถวในชุด (0.00 วินาที)
ต่อไปนี้เป็นแบบสอบถามเพื่อจัดรูปแบบวันที่เป็น YYYY-MM-DD
mysql> เลือก str_to_date(LoginDate,'%d.%m.%Y') เป็น DateFormat จาก ConvertIntoDateFormat;
นี่คือผลลัพธ์
<ก่อนหน้า>+-----------+| รูปแบบวันที่ |+-----------+| 2019-01-11 || 2017-04-10 || 2016-10-21 || 2018-09-26 || 2012-12-25 |+------------+5 แถวในชุด (0.00 วินาที)คุณยังสามารถใช้เมธอด DATE_FORMAT() เพื่อจุดประสงค์เดียวกันได้ แบบสอบถามมีดังนี้
mysql> เลือก DATE_FORMAT(STR_TO_DATE(LoginDate,'%d.%m.%Y'), '%Y-%m-%d') เป็น DateFormat จาก -> ConvertIntoDateFormat;
ต่อไปนี้เป็นผลลัพธ์−
<ก่อนหน้า>+-----------+| รูปแบบวันที่ |+-----------+| 2019-01-11 || 2017-04-10 || 2016-10-21 || 2018-09-26 || 2012-12-25 |+------------+5 แถวในชุด (0.00 วินาที)