ใช้ฟังก์ชัน DATE_FORMAT() เพื่อเปลี่ยนรูปแบบการแสดงผลวันที่/เวลาในคำสั่ง SELECT
รูปแบบคำสั่ง
SELECT DATE_FORMAT(yourColumnName, '%d/%m/%Y %H:%i') AS formatted_date FROM yourTableName;
ตัวอย่าง
1. สร้างตารางและข้อมูล
mysql> create table bestDateFormatDemo (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> ArrivalDateTime datetime
-> );
mysql> insert into bestDateFormatDemo(ArrivalDateTime) values
-> (NOW()), (DATE_ADD(NOW(), INTERVAL -2 YEAR)),
-> ('2014-01-31 13:45:56'), ('2016-02-11 12:40:30'), ('2018-12-31 12:59:59');
2. รูปแบบ 24 ชั่วโมง (%H)
mysql> SELECT DATE_FORMAT(ArrivalDateTime, '%d/%m/%Y %H:%i') AS changeDateFormat
-> 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 | +------------------+
3. รูปแบบ 12 ชั่วโมง (%h) พร้อม AM/PM
mysql> SELECT DATE_FORMAT(ArrivalDateTime, '%d/%m/%Y %h:%i %p') AS changeDateFormat
-> FROM bestDateFormatDemo WHERE Id IN(1,2,3,4,5);
+---------------------+ | changeDateFormat | +---------------------+ | 22/02/2019 10:50 PM | | 22/02/2017 10:50 PM | | 31/01/2014 01:45 PM | | 11/02/2016 12:40 PM | | 31/12/2018 12:59 PM | +---------------------+
Format Specifiers ที่ใช้บ่อย
| Specifier | ความหมาย | ตัวอย่าง |
|---|---|---|
%Y | ปี 4 หลัก | 2024 |
%y | ปี 2 หลัก | 24 |
%m | เดือน (01-12) | 02 |
%c | เดือน (1-12) | 2 |
%d | วัน (01-31) | 18 |
%e | วัน (1-31) | 18 |
%H | ชั่วโมง 24 ชม. (00-23) | 14 |
%h | ชั่วโมง 12 ชม. (01-12) | 02 |
%i | นาที (00-59) | 30 |
%s | วินาที (00-59) | 45 |
%p | AM/PM | PM |
%W | ชื่อวันเต็ม | Sunday |
%a | ชื่อวันย่อ | Sun |
%M | ชื่อเดือนเต็ม | February |
%b | ชื่อเดือนย่อ | Feb |
รูปแบบไทยที่นิยม
%d/%m/%Y %H:%i→ 18/02/2024 14:30%d %M %Y→ 18 February 2024%W, %d %M %Y→ Sunday, 18 February 2024%Y-%m-%d→ 2024-02-18 (ISO 8601)