Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

CAST as DATE vs DATE() trong MySQL: Giống nhau hoàn toàn

Trong MySQL, CAST(cot AS DATE) và DATE(cot) hoàn toàn tương đương – cả hai đều gọi nội bộ Item_date_typecast để trích xuất phần ngày từ DATETIME hoặc TIMESTAMP.

Cú pháp

-- Cách 1: CAST
SELECT CAST(cot_datetime AS DATE) AS only_date FROM ten_bang;

-- Cách 2: DATE() - ngắn gọn hơn
SELECT DATE(cot_datetime) AS only_date FROM ten_bang;

Ví dụ minh họa

Tạo bảng CastAsDateDemo:

CREATE TABLE CastAsDateDemo (
    Id INT NOT NULL AUTO_INCREMENT,
    ArrivalTime DATETIME,
    PRIMARY KEY (Id)
);

INSERT INTO CastAsDateDemo (ArrivalTime) VALUES
('2014-01-13 13:45:46'), ('2016-04-11 10:30:31'),
('2019-01-09 19:17:49'), (DATE_ADD(NOW(), INTERVAL 2 DAY));

Kết quả CAST

SELECT CAST(ArrivalTime AS DATE) AS only_Date FROM CastAsDateDemo;
+------------+
| only_Date  |
+------------+
| 2014-01-13 |
| 2016-04-11 |
| 2019-01-09 |
| 2019-01-11 |
+------------+

Kết quả DATE()

SELECT DATE(ArrivalTime) AS only_Date FROM CastAsDateDemo;
+------------+
| only_Date  |
+------------+
| 2014-01-13 |
| 2016-04-11 |
| 2019-01-09 |
| 2019-01-11 |
+------------+

Kết luận: Hai cách cho kết quả y hệt. Nên dùng DATE() vì ngắn gọn, dễ đọc, chuẩn SQL hơn.