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

Lấy phần DATE từ DATETIME trong MySQL với DATE_FORMAT


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ĩaVí dụ
%dNgày (01-31)21
%mTháng (01-12)07
%YNăm 4 chữ số2019
%yNăm 2 chữ số19
%HGiờ 24h (00-23)12
%iPhút (00-59)34
%sGiâ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_FORMAT trả 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.