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

Phân tích (parse) chuỗi ngày tháng trong MySQL (STR_TO_DATE)


Sử dụng STR_TO_DATE(string, format) để chuyển chuỗi ngày tháng tùy ý thành giá trị DATE/DATETIME.

Cú pháp

SELECT STR_TO_DATE(date_string, 'format') FROM table_name;

Các format specifier phổ biến

Specifier Ý nghĩa Ví dụ
%d Ngày (01-31) 10
%m Tháng (01-12) 11
%Y Năm 4 chữ số 2018
%y Năm 2 chữ số 18
%b Tên tháng viết tắt Nov
%M Tên tháng đầy đủ November
%H Giờ 24h (00-23) 13
%i Phút (00-59) 10
%s Giây (00-59) 20

Ví dụ minh họa

mysql> CREATE TABLE ParseDateDemo (yourDate VARCHAR(200));
Query OK, 0 rows affected (0.55 sec)

mysql> INSERT INTO ParseDateDemo VALUES
('10-Nov-18'), ('15-Nov-18'), ('10-Dec-18'), ('10-Aug-17');
Query OK, 4 rows affected

Parse định dạng 'DD-Mon-YY':

mysql> SELECT STR_TO_DATE(yourDate, '%d-%b-%y') AS DateNumber FROM ParseDateDemo;

Kết quả:

+------------+
| DateNumber |
+------------+
| 2018-11-10 |
| 2018-11-15 |
| 2018-12-10 |
| 2017-08-10 |
+------------+

Lưu ý

  • Format string phải khớp chính xác với dữ liệu (khoảng trắng, phân cách).
  • Năm 2 chữ số (%y): 00-69 → 2000-2069, 70-99 → 1970-1999.
  • Ngược lại: DATE_FORMAT(date, format) để xuất chuỗi.
  • Nếu parse thất bại: trả về NULL.