จัดรูปแบบวันที่ วว/ดด/ปปปป โดยใช้เลือกและเรียงลำดับโดยเรียงลำดับจากมากไปน้อย ไวยากรณ์มีดังนี้ −
SELECT *FROM yourTableNamewhere yourDatetimeColumnName order bySTR_TO_DATE(yourDatetimeColumnName,’%d/%m%Y’) desc;
ไวยากรณ์ข้างต้นจะให้วันที่ในลำดับจากมากไปน้อย เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตารางก่อน แบบสอบถามเพื่อสร้างตารางมีดังนี้ −
mysql> สร้างตาราง DateFormatWithSelect -> ( -> UserId int, -> UserName varchar(100), -> UserLoginDatetime varchar(100) -> );Query OK, 0 แถวได้รับผลกระทบ (0.58 วินาที)
แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −
mysql> แทรกลงในค่า DateFormatWithSelect (101,'John','20/10/2016');เคียวรีตกลง, 1 แถวได้รับผลกระทบ (0.11 วินาที)mysql> แทรกลงในค่า DateFormatWithSelect (102,'David','21 /09/2015');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.20 วินาที)mysql> แทรกลงในค่า DateFormatWithSelect (103,'Carol','21/12/2018'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที)mysql> แทรกลงในค่า DateFormatWithSelect (104,'Mike','2/8/2014'); แบบสอบถามตกลง, 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า DateFormatWithSelect (105,'Sam','21/11/2017 ');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที)mysql> แทรกลงในค่า DateFormatWithSelect (106,'Bob','21/12/2013'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.18 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −
mysql> เลือก *จาก DateFormatWithSelect;
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+---------+----------+-------------------+| รหัสผู้ใช้ | ชื่อผู้ใช้ | UserLoginDatetime |+-------+----------+-------------------+| 101 | จอห์น | 20/10/2559 || 102 | เดวิด | 21/09/2558 || 103 | แครอล | 21/12/2018 || 104 | ไมค์ | 2/8/2557 || 105 | แซม | 21/11/2017 || 106 | บ๊อบ | 21/12/2556 |+-------------+----------+-------------------+6 แถวใน ตั้งค่า (0.00 วินาที)นี่คือ SELECT ที่จัดรูปแบบวันที่ในรูปแบบ วว/ดด/ปปปป -
mysql> เลือก *จาก DateFormatWithSelect -> โดยที่ UserLoginDatetime เรียงลำดับตาม str_to_date(UserLoginDatetime,'%d/%m/%Y') desc;