คำอธิบาย
ใช้ STR_TO_DATE() แปลงสตริงวันที่รูปแบบใดก็ได้ → DATE แล้ว DATE_FORMAT() แปลง DATE → สตริงรูปแบบที่ต้องการ
ขั้นตอนการสร้างตารางและข้อมูลตัวอย่าง
mysql> create table DemoTable (
DueDate varchar(100) );
Query OK, 0 rows affected (0.62 sec)
การเพิ่มข้อมูล (รูปแบบเดือนเป็นตัวอักษร)
mysql> insert into DemoTable values('August 04,2019');
Query OK, 1 row affected (0.25 sec)
แสดงข้อมูล
mysql> select * from DemoTable;
ผลลัพธ์:
+----------------+ | DueDate | +----------------+ | August 04,2019 | +----------------+ 1 row in set (0.00 sec)
คิวรี่แปลงรูปแบบวันที่
mysql> set @stringToDate = (
select date_format(str_to_date(DueDate, '%M %d,%Y'), '%Y-%m-%d')
from DemoTable
);
Query OK, 0 rows affected (0.02 sec)
แสดงผลลัพธ์
mysql> select @stringToDate;
ผลลัพธ์:
+---------------+ | @stringToDate | +---------------+ | 2019-08-04 | +---------------+ 1 row in set (0.00 sec)
คำอธิบาย Format Specifiers
| Specifier | ความหมาย | ตัวอย่าง |
|---|---|---|
| %M | ชื่อเดือนเต็ม | August |
| %d | วันที่ 2 หลัก | 04 |
| %Y | ปี 4 หลัก | 2019 |
| %m | เดือน 2 หลัก | 08 |