ใช้ STR_TO_DATE แปลงสตริงเป็น DATE แล้ว DATE_FORMAT แสดงเฉพาะวันที่
สร้างตารางเก็บวันที่แบบสตริง
mysql> CREATE TABLE DemoTable (ShippingDate VARCHAR(200));
mysql> INSERT INTO DemoTable VALUES
('04:58 PM 10/31/2018'),
('02:30 AM 01/01/2019'),
('12:01 AM 05/03/2019');
ดูข้อมูลเดิม
mysql> SELECT * FROM DemoTable;
+---------------------+
| ShippingDate |
+---------------------+
| 04:58 PM 10/31/2018 |
| 02:30 AM 01/01/2019 |
| 12:01 AM 05/03/2019 |
+---------------------+
คำสั่งแปลงและดึงเฉพาะวันที่ (MM/DD/YYYY)
mysql> SELECT DATE_FORMAT(
-> STR_TO_DATE(ShippingDate, '%h:%i %p %m/%d/%Y'),
-> '%m/%d/%Y'
-> ) FROM DemoTable;
ผลลัพธ์
+-------------------------------------------------------------------------+
| DATE_FORMAT(STR_TO_DATE(ShippingDate, '%h:%i %p %m/%d/%Y'), '%m/%d/%Y') |
+-------------------------------------------------------------------------+
| 10/31/2018 |
| 01/01/2019 |
| 05/03/2019 |
+-------------------------------------------------------------------------+
คำอธิบาย:
STR_TO_DATE(str, format)— แปลงสตริงเป็น DATETIME ตามรูปแบบDATE_FORMAT(date, format)— จัดรูปแบบวันที่ให้แสดงตามต้องการ%h:%i %p %m/%d/%Y— 12-hr time, AM/PM, MM/DD/YYYY