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

Cách hiển thị chỉ giờ và phút từ DATETIME trong MySQL

Để trích xuất và định dạng chỉ **giờ:phút** từ cột DATETIME hoặc TIMESTAMP, dùng hàm DATE_FORMAT() với định dạng '%H:%i'.

Cú pháp

SELECT DATE_FORMAT(ten_cot, '%H:%i') AS ten_alias FROM ten_bang;
  • %H: Giờ 24h (00-23).
  • %i: Phút (00-59).
  • %h: Giờ 12h (01-12) – ít dùng.

Ví dụ minh họa

mysql> CREATE TABLE DemoTable1527 (ArrivalDatetime DATETIME);
mysql> INSERT INTO DemoTable1527 VALUES
    -> ('2019-01-10 12:34:45'),
    -> ('2018-12-12 11:00:34'),
    -> ('2019-03-21 04:55:56');

mysql> SELECT DATE_FORMAT(ArrivalDatetime, '%H:%i') AS HourAndMinutes
    -> FROM DemoTable1527;

Kết quả:

+----------------+
| HourAndMinutes |
+----------------+
| 12:34          |
| 11:00          |
| 04:55          |
+----------------+

Các định dạng thời gian phổ biến

Định dạngKết quảMô tả
%H:%i:%s12:34:45Giờ:Phút:Giây (24h)
%h:%i %p12:34 PMGiờ 12h + AM/PM
%T12:34:45Viết tắt %H:%i:%s
%r12:34:45 PMViết tắt %h:%i:%s %p

Lưu ý

  • Kết quả kiểu VARCHAR – không thể dùng trực tiếp trong so sánh thời gian. Cần CAST(... AS TIME) hoặc so sánh cột gốc.
  • Định dạng ngày: DATE_FORMAT(cot, '%Y-%m-%d') → '2019-01-10'.
  • Hiệu năng: DATE_FORMAT không dùng index. Nếu lọc theo giờ, so sánh cột gốc: WHERE TIME(cot) BETWEEN '08:00' AND '17:00'.