เมื่อต้องการแสดงค่า DATETIME หรือ TIMESTAMP ในรูปแบบข้อความที่กำหนดเอง ให้ใช้ฟังก์ชัน DATE_FORMAT() ซึ่งยืดหยุ่นสูงและรองรับรูปแบบมากมาย
รูปแบบคำสั่ง
SELECT DATE_FORMAT(yourColumnName, '%d %m %y') AS anyVariableName
FROM yourTableName;
ตัวอย่างสมบูรณ์
1. สร้างตารางและเพิ่มข้อมูล
mysql> CREATE TABLE DateAsStringDemo (
-> YourDateTime DATETIME
-> );
Query OK, 0 rows affected (0.57 sec)
mysql> INSERT INTO DateAsStringDemo VALUES (CURDATE());
Query OK, 1 row affected (0.24 sec)
2. ดูข้อมูลดิบ
mysql> SELECT * FROM DateAsStringDemo;
+---------------------+
| YourDateTime |
+---------------------+
| 2018-11-26 00:00:00 |
+---------------------+
1 row in set (0.00 sec)
3. แปลงเป็นข้อความรูปแบบ วัน เดือน ปี (2 หลัก)
mysql> SELECT DATE_FORMAT(YourDateTime, '%d %m %y') AS YourDateAsString
-> FROM DateAsStringDemo;
+------------------+
| YourDateAsString |
+------------------+
| 26 11 18 |
+------------------+
1 row in set (0.00 sec)
รูปแบบที่นิยมใช้
| รูปแบบ | ผลลัพธ์ตัวอย่าง | คำอธิบาย |
|---|---|---|
%Y-%m-%d | 2018-11-26 | มาตรฐาน ISO 8601 |
%d/%m/%Y | 26/11/2018 | รูปแบบไทย/ยุโรป |
%d %M %Y | 26 November 2018 | อ่านง่าย มีชื่อเดือน |
%H:%i:%s | 14:30:59 | เวลา 24 ชั่วโมง |
%r | 02:30:59 PM | เวลา 12 ชั่วโมง AM/PM |
หมายเหตุ: DATE_FORMAT() คืนค่าเป็น VARCHAR ไม่ใช่ชนิดวันที่อีกต่อไป