Để hiển thị giờ 12h với hậu tố am/pm chữ thường, kết hợp DATE_FORMAT() và LOWER().
Ví dụ minh họa
Tạo bảng cột TIME:
CREATE TABLE formatTime (LoginTime TIME);
INSERT INTO formatTime VALUES ('12:40:34'), ('14:10:58'), ('16:56:40'), ('10:12:14');
Dữ liệu gốc:
+-----------+ | LoginTime | +-----------+ | 12:40:34 | | 14:10:58 | | 16:56:40 | | 10:12:14 | +-----------+
Format thành hh:mm am/pm chữ thường:
SELECT LOWER(DATE_FORMAT(LoginTime, '%l:%i %p')) FROM formatTime;
Kết quả:
+------------------------------------------+ | LOWER(DATE_FORMAT(LoginTime,'%l:%i %p')) | +------------------------------------------+ | 12:40 pm | | 2:10 pm | | 4:56 pm | | 10:12 am | +------------------------------------------+
Giải thích format specifier
| Specifier | Ý nghĩa |
|---|---|
%l | Giờ 12h (1-12), không padding 0 |
%h | Giờ 12h (01-12), có padding 0 |
%i | Phút (00-59) |
%p | AM/PM (chữ hoa) |
Lưu ý: %p trả về AM/PM chữ hoa. LOWER() chuyển thành chữ thường. Nếu muốn am/pm không khoảng trắng: REPLACE(LOWER(DATE_FORMAT(...)), ' ', '').