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

รูปแบบวันที่ของ MySQL เพื่อแปลง dd.mm.yy เป็น YYYY-MM-DD?


ใช้วิธี 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 วินาที)