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

วิธีที่ดีที่สุดในการเปลี่ยนรูปแบบวันที่ใน MySQL SELECT?


วิธีที่ดีที่สุดในการเปลี่ยนรูปแบบวันที่ใน MySQL SELECT มีดังต่อไปนี้

เลือก DATE_FORMAT(yourColumnName, "%d/%m/%Y %H:%i") AS anyAliasName FROM yourTableName WHERE yourCondition;

เพื่อให้เข้าใจแนวคิดข้างต้น ให้เราสร้างตาราง แบบสอบถามในการสร้างตารางมีดังนี้

mysql> สร้างตาราง bestDateFormatDemo -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, -> ArrivalDateTime datetime -> ); เคียวรีตกลง 0 แถวได้รับผลกระทบ (0.64 วินาที)

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

แบบสอบถามมีดังนี้

mysql> แทรกลงในค่า bestDateFormatDemo(ArrivalDateTime) (ตอนนี้ ()); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า bestDateFormatDemo (ArrivalDateTime) (date_add (ตอนนี้ () ช่วงเวลา -2 ปี)); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.33 วินาที) mysql> แทรกลงใน bestDateFormatDemo(ArrivalDateTime) ค่า ('2014-01-31 13:45:56'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงใน bestDateFormatDemo ( ArrivalDateTime) ค่า ('2016-02-11 12:40:30 น.'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า bestDateFormatDemo (ArrivalDateTime) ('2018-12-31 12:59:59' );แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.19 วินาที)

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

แบบสอบถามมีดังนี้

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

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+----+---------------------+| รหัส | มาถึงวันที่เวลา |+----+---------------------+| 1 | 2019-02-22 22:50:10 || 2 | 2017-02-22 22:50:28 || 3 | 2014-01-31 13:45:56 || 4 | 2016-02-11 12:40:30 || 5 | 2018-12-31 12:59:59 |+----+---------------------+5 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อเปลี่ยนรูปแบบวันที่ในคำสั่งเลือก MySQL

mysql> SELECT DATE_FORMAT(ArrivalDateTime, "%d/%m/%Y %H:%i")ASchangeDateFormat FROM bestDateFormatDemo WHERE Id IN (1,2,3,4,5);

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+-----------------+| changeDateFormat |+-----------------+| 22/02/2019 22:50 || 22/02/2017 22:50 || 31/01/2014 13:45 || 11/02/2016 12:40 || 31/12/2018 12:59 |+----------------- +5 แถวในชุด (0.28 วินาที)

หากคุณต้องการชั่วโมงในรูปแบบ 12 ชั่วโมง ให้ใช้ 'h' แทน 'H'

แบบสอบถามมีดังนี้

mysql> SELECT DATE_FORMAT(ArrivalDateTime, "%d/%m/%Y %h:%i")ASchangeDateFormat FROM bestDateFormatDemo WHERE Id IN (1,2,3,4,5);

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+-----------------+| changeDateFormat |+-----------------+| 22/02/2019 10:50 || 22/02/2017 10:50 || 31/01/2014 01:45 || 11/02/2016 12:40 || 31/12/2018 12:59 |+-----------------+5 แถวในชุด (0.00 วินาที)