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

Chuyển chuỗi sang định dạng datetime 24h trong MySQL?

Sử dụng STR_TO_DATE() với format '%Y-%m-%d %H:%i:%s' để parse chuỗi thành kiểu DATETIME (24h).

Tạo bảng

mysql> CREATE TABLE DemoTable (ArrivalDate VARCHAR(200));

Chèn chuỗi datetime

mysql> INSERT INTO DemoTable VALUES('2019-01-31 15:45:23');
mysql> INSERT INTO DemoTable VALUES('2012-12-12 20:30:26');
mysql> INSERT INTO DemoTable VALUES('2016-06-07 21:04:05');
mysql> INSERT INTO DemoTable VALUES('2017-02-03 19:24:32');

Xem dữ liệu chuỗi

mysql> SELECT * FROM DemoTable;
+---------------------+
| ArrivalDate         |
+---------------------+
| 2019-01-31 15:45:23 |
| 2012-12-12 20:30:26 |
| 2016-06-07 21:04:05 |
| 2017-02-03 19:24:32 |
+---------------------+

Chuyển sang DATETIME (24h format)

mysql> SELECT STR_TO_DATE(ArrivalDate, '%Y-%m-%d %H:%i:%s') AS `24HourFormat` FROM DemoTable;
+---------------------+
| 24HourFormat        |
+---------------------+
| 2019-01-31 15:45:23 |
| 2012-12-12 20:30:26 |
| 2016-06-07 21:04:05 |
| 2017-02-03 19:24:32 |
+---------------------+

Format specifiers phổ biến

SpecifierÝ nghĩaVí dụ
%YNăm 4 chữ số2019
%mTháng 01-1201, 12
%dNgày 01-3131, 07
%HGiờ 00-23 (24h)15, 20, 21
%hGiờ 01-12 (12h)03, 08
%iPhút 00-5945, 30
%sGiây 00-5923, 26
%pAM/PMPM, AM

Chuyển ngược: DATETIME → Chuỗi format tùy chỉnh

SELECT DATE_FORMAT(NOW(), '%d/%m/%Y %H:%i'); -- 09/04/2019 15:45

Lưu ý

  • Chuỗi input phải khớp chính xác format (kể cả phân cách -, :, khoảng trắng)
  • Nếu không khớp → trả về NULL
  • MySQL 8.0+ hỗ trợ CAST('2019-01-31 15:45:23' AS DATETIME) cho format chuẩn ISO