Giới thiệu
Để trích xuất và format phần ngày (ngày/tháng/năm) từ cột DATETIME, dùng DATE_FORMAT(date, format) với các specifier.
Các specifier phổ biến
| Specifier | Ý nghĩa | Ví dụ |
|---|---|---|
| %d | Ngày (01-31) | 21 |
| %m | Tháng (01-12) | 07 |
| %Y | Năm 4 chữ số | 2019 |
| %y | Năm 2 chữ số | 19 |
| %H | Giờ 24h (00-23) | 12 |
| %i | Phút (00-59) | 34 |
| %s | Giây (00-59) | 56 |
Ví dụ minh họa
Tạo bảng và chèn DATETIME
mysql> CREATE TABLE DemoTable (AdmissionDate DATETIME);
mysql> INSERT INTO DemoTable VALUES
('2019-07-21 12:34:56'), ('2016-08-18 10:00:02'), ('2018-01-03 11:02:20');
Truy vấn format DD.MM.YYYY
mysql> SELECT DATE_FORMAT(AdmissionDate, '%d.%m.%Y') AS Date FROM DemoTable;
Kết quả
+------------+ | Date | +------------+ | 21.07.2019 | | 18.08.2016 | | 03.01.2018 | +------------+
Cách đơn giản hơn: DATE()
Nếu chỉ cần giá trị DATE (không format chuỗi):
SELECT DATE(AdmissionDate) AS DateOnly FROM DemoTable;
+------------+ | DateOnly | +------------+ | 2019-07-21 | | 2016-08-18 | | 2018-01-03 | +------------+
Kết quả kiểu DATE, ứng dụng có thể format tùy ý.
Lưu ý
DATE_FORMATtrả về VARCHAR.DATE()trả về DATE (có thể dùng trong WHERE, ORDER BY, index).- Format DD.MM.YYYY phổ biến ở châu Âu. US: MM/DD/YYYY. ISO: YYYY-MM-DD.