ใช้ฟังก์ชัน STR_TO_DATE() เพื่อแปลงสตริงวันที่ให้เป็นรูปแบบวันที่ของ MySQL
ตัวอย่างการใช้งาน
1. สร้างตารางเก็บวันที่เป็น VARCHAR
mysql> create table DemoTable
-> (
-> DueDatetime varchar(100)
-> );
Query OK, 0 rows affected (1.03 sec)
2. แทรกข้อมูลวันที่ในรูปแบบต่างๆ
mysql> insert into DemoTable values('22-06-2019 14:40');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable values('02-07-2015 13:10');
Query OK, 1 row affected (0.18 sec)
3. แสดงข้อมูลก่อนแปลง
mysql> select * from DemoTable;
+------------------+ | DueDatetime | +------------------+ | 22-06-2019 14:40 | | 02-07-2015 13:10 | +------------------+
4. แปลงด้วย STR_TO_DATE
mysql> select str_to_date(DueDatetime, '%d-%m-%Y %H:%i') from DemoTable;
ผลลัพธ์หลังแปลง
+-------------------------------------------+ | str_to_date(DueDatetime, '%d-%m-%Y %H:%i') | +-------------------------------------------+ | 2019-06-22 14:40:00 | | 2015-07-02 13:10:00 | +-------------------------------------------+
รูปแบบตัวจัดรูปแบบ (Format Specifiers) ที่ใช้บ่อย
%d- วัน (00-31)%m- เดือน (00-12)%Y- ปี 4 หลัก%H- ชั่วโมง (00-23)%i- นาที (00-59)%s- วินาที (00-59)
หมายเหตุ: ต้องระบุรูปแบบให้ตรงกับข้อมูลต้นทางทุกตัวอักษร รวมถึงตัวคั่น (-, :, ช่องว่าง)