Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

แปลง DATETIME เป็น DATE ใน MySQL ด้วย CAST()


ใช้ 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';