คำอธิบาย
ใช้ DATE_FORMAT(date, format) แปลง DATE/DATETIME เป็นสตริงตามรูปแบบที่ต้องการ เช่น d/m/Y (วัน/เดือน/ปี)
รูปแบบ Format Specifiers
| Specifier | ความหมาย | ตัวอย่าง |
|---|---|---|
| %d | วันที่ 2 หลัก | 01-31 |
| %m | เดือน 2 หลัก | 01-12 |
| %Y | ปี 4 หลัก | 2019 |
| %D | วันที่มี Suffix | 1st, 2nd, 3rd |
| %M | ชื่อเดือนเต็ม | January |
ขั้นตอนการสร้างตารางและข้อมูลตัวอย่าง
mysql> create table DemoTable (
AdmissionDate date );
Query OK, 0 rows affected (0.89 sec)
การเพิ่มข้อมูล
mysql> insert into DemoTable values('2019-01-21');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('2019-09-09');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values('2018-12-31');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values('2017-11-01');
Query OK, 1 row affected (0.16 sec)
แสดงข้อมูล (รูปแบบ Default YYYY-MM-DD)
mysql> select * from DemoTable;
ผลลัพธ์:
+---------------+ | AdmissionDate | +---------------+ | 2019-01-21 | | 2019-09-09 | | 2018-12-31 | | 2017-11-01 | +---------------+ 4 rows in set (0.00 sec)
คิวรี่เปลี่ยนรูปแบบเป็น d/m/Y
mysql> select date_format(AdmissionDate, '%d/%m/%Y') as AdmissionDate from DemoTable;
ผลลัพธ์
+---------------+ | AdmissionDate | +---------------+ | 21/01/2019 | | 09/09/2019 | | 31/12/2018 | | 01/11/2017 | +---------------+ 4 rows in set (0.00 sec)
รูปแบบวันที่ไทยนิยม
-- วัน/เดือน/ปี DATE_FORMAT(date, '%d/%m/%Y') -- 21/01/2019 -- วัน เดือน ปี (ภาษาอังกฤษ) DATE_FORMAT(date, '%d %M %Y') -- 21 January 2019 -- วันเดือนปีไทย (ต้อง SET lc_time_names = 'th_TH') SET lc_time_names = 'th_TH'; DATE_FORMAT(date, '%d %M %Y') -- 21 มกราคม 2562
STR_TO_DATE: String → Date (Inverse)
STR_TO_DATE('21/01/2019', '%d/%m/%Y') → 2019-01-21 (DATE)