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

Chọn timestamp thành chuỗi ngày trong MySQL?

Chuyển đổi Unix Timestamp sang chuỗi ngày giờ trong MySQL

Sử dụng hàm FROM_UNIXTIME() để chuyển đổi số giây từ epoch (1970-01-01) sang định dạng DATETIME/chuỗi tùy chỉnh.

Cú pháp

SELECT FROM_UNIXTIME(yourColumnName, '%Y-%m-%d %H:%i:%s') FROM yourTableName;

Các ký tự định dạng phổ biến

Ký tựÝ nghĩaVí dụ
%YNăm 4 chữ số2024
%mTháng (01-12)01
%dNgày (01-31)15
%HGiờ 24h (00-23)14
%iPhút (00-59)30
%sGiây (00-59)45

Ví dụ hoàn chỉnh

Tạo bảng lưu timestamp:

mysql> CREATE TABLE select_timestampDemo (
    -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> ArrivalDateTime INT
    -> );

Chèn timestamp (giây từ epoch):

mysql> INSERT INTO select_timestampDemo(ArrivalDateTime) VALUES
(1546499730), (1546210820), (1496363157);

Chuyển đổi sang chuỗi ngày giờ:

mysql> SELECT FROM_UNIXTIME(ArrivalDateTime, '%Y-%m-%d %H:%i:%s') FROM select_timestampDemo;

Kết quả:

+-----------------------------------------------------+
| FROM_UNIXTIME(ArrivalDateTime, '%Y-%m-%d %H:%i:%s') |
+-----------------------------------------------------+
| 2019-01-03 12:45:30                                 |
| 2018-12-31 04:30:20                                 |
| 2017-06-02 05:55:57                                 |
+-----------------------------------------------------+

Hàm liên quan

  • UNIX_TIMESTAMP(): Ngược lại, chuyển DATETIME → timestamp
  • FROM_UNIXTIME(timestamp): Không có format → trả về DATETIME
  • DATE_FORMAT(FROM_UNIXTIME(ts), '%Y-%m-%d'): Chỉ lấy ngày

Lưu ý múi giờ

FROM_UNIXTIME() sử dụng múi giờ của session (@@session.time_zone). Đảm bảo múi giờ đúng cho ứng dụng.