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

Trích xuất giá trị ngày tháng số (Unix Timestamp) từ định dạng ngày tùy chỉnh trong MySQL

Giới thiệu

Hàm UNIX_TIMESTAMP() chuyển DATETIME thành giây từ epoch (1970-01-01). Kết hợp STR_TO_DATE để parse chuỗi ngày tháng không chuẩn (ví dụ: '31-Jan-19').

Cú pháp

SELECT UNIX_TIMESTAMP(STR_TO_DATE(cot_ngay, '%d-%b-%y')) AS Numeric_Date FROM ten_bang;

Ví dụ minh họa

Bước 1: Tạo bảng và chèn dữ liệu định dạng dd-Mon-yy

CREATE TABLE demo34 (datevalue VARCHAR(40));
INSERT INTO demo34 VALUES ('31-Jan-19'), ('03-Mar-21'), ('13-Jun-20');

Bước 2: Chuyển đổi

SELECT UNIX_TIMESTAMP(STR_TO_DATE(datevalue, '%d-%b-%y')) AS Numeric_Date FROM demo34;

Kết quả

+--------------+
| Numeric_Date |
+--------------+
| 1548873000   |
| 1614709800   |
| 1591986600   |
+--------------+

Giải thích định dạng:

  • %d: Ngày 2 chữ số
  • %b: Tên tháng viết tắt 3 chữ cái (Jan, Feb, ...)
  • %y: Năm 2 chữ số

Kết quả là Unix timestamp (giây), có thể dùng cho tính toán, so sánh, hoặc chuyển sang ngôn ngữ khác.