MySQL sử dụng hàm DATE_FORMAT() (không phải FORMATDATE()) để định dạng ngày trong truy vấn SELECT.
Cú pháp
SELECT *, DATE_FORMAT(ten_cot_ngay, 'dinh_dang') AS ten_alias FROM ten_bang;
Các định dạng phổ biến
%d- Ngày (01-31)%m- Tháng (01-12)%Y- Năm 4 chữ số%H- Giờ 24h (00-23)%i- Phút (00-59)%s- Giây (00-59)
Ví dụ minh họa
Tạo bảng và chèn dữ liệu:
mysql> CREATE TABLE DateFormatDemo (
-> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> UserName VARCHAR(10),
-> UserLoginDate DATE
-> );
mysql> INSERT INTO DateFormatDemo(UserName, UserLoginDate) VALUES('Mike', CURDATE());
mysql> INSERT INTO DateFormatDemo(UserName, UserLoginDate) VALUES('Sam', '2018-05-09');
mysql> INSERT INTO DateFormatDemo(UserName, UserLoginDate) VALUES('Carol', '2016-01-15');
mysql> INSERT INTO DateFormatDemo(UserName, UserLoginDate) VALUES('Bob', '2015-12-31');
mysql> INSERT INTO DateFormatDemo(UserName, UserLoginDate) VALUES('David', '2012-08-19');
Dữ liệu gốc:
+----+----------+---------------+ | Id | UserName | UserLoginDate | +----+----------+---------------+ | 1 | Mike | 2019-02-06 | | 2 | Sam | 2018-05-09 | | 3 | Carol | 2016-01-15 | | 4 | Bob | 2015-12-31 | | 5 | David | 2012-08-19 | +----+----------+---------------+
Định dạng ngày thành dd-mm-YYYY:
mysql> SELECT *, DATE_FORMAT(UserLoginDate, '%d-%m-%Y') AS NewFormatOfDate
-> FROM DateFormatDemo;
Kết quả:
+----+----------+---------------+-----------------+ | Id | UserName | UserLoginDate | NewFormatOfDate | +----+----------+---------------+-----------------+ | 1 | Mike | 2019-02-06 | 06-02-2019 | | 2 | Sam | 2018-05-09 | 09-05-2018 | | 3 | Carol | 2016-01-15 | 15-01-2016 | | 4 | Bob | 2015-12-31 | 31-12-2015 | | 5 | David | 2012-08-19 | 19-08-2012 | +----+----------+---------------+-----------------+