ใช้ CAST() แปลงชนิดข้อมูล
ฟังก์ชัน CAST() สามารถแปลง DATETIME หรือ TIMESTAMP ให้เหลือเฉพาะ DATE:
SELECT CAST(datetime_column AS DATE) AS date_only
FROM your_table;
ตัวอย่างการใช้งาน
สร้างตารางและเพิ่มข้อมูล DATETIME
CREATE TABLE ConvertDateTimeToDate (ArrivalDatetime DATETIME);
INSERT INTO ConvertDateTimeToDate VALUES
(DATE_ADD(NOW(), INTERVAL -1 YEAR)),
('2017-11-21 13:10:20'),
('2016-05-24 21:11:24'),
('2012-04-30 04:05:50');
ข้อมูลต้นฉบับ
+---------------------+
| ArrivalDatetime |
+---------------------+
| 2017-12-27 10:05:21 |
| 2017-11-21 13:10:20 |
| 2016-05-24 21:11:24 |
| 2012-04-30 04:05:50 |
+---------------------+
คำสั่งแปลงเป็น DATE
SELECT CAST(ArrivalDatetime AS DATE) AS Date
FROM ConvertDateTimeToDate;
ผลลัพธ์
+------------+
| Date |
+------------+
| 2017-12-27 |
| 2017-11-21 |
| 2016-05-24 |
| 2012-04-30 |
+------------+
วิธีอื่น: ฟังก์ชัน DATE()
SELECT DATE(ArrivalDatetime) AS Date FROM ConvertDateTimeToDate;
ทั้ง CAST() และ DATE() ให้ผลลัพธ์เหมือนกัน แต่อาจมีความแตกต่างเล็กน้อยในการจัดการ Timezone และค่า NULL
ใช้ใน WHERE Clause
SELECT * FROM orders
WHERE CAST(order_datetime AS DATE) = '2024-01-15';