Để chuyển đổi giá trị TIMESTAMP (hoặc DATETIME) sang số giây Unix timestamp (giây kể từ 1970-01-01 00:00:00 UTC), MySQL cung cấp hàm UNIX_TIMESTAMP().
Ví dụ minh họa
Tạo bảng:
mysql> create table DemoTable(
Duetimestamp timestamp
);
Chèn dữ liệu:
mysql> insert into DemoTable values(now());
mysql> insert into DemoTable values('2016-01-21 12:34:00');
mysql> insert into DemoTable values('2018-05-01 02:00:00');
mysql> insert into DemoTable values('2017-03-02 01:10:20');
Hiển thị dữ liệu gốc:
mysql> select * from DemoTable;
Kết quả:
+---------------------+ | Duetimestamp | +---------------------+ | 2019-08-20 20:48:45 | | 2016-01-21 12:34:00 | | 2018-05-01 02:00:00 | | 2017-03-02 01:10:20 | +---------------------+
Truy vấn chuyển sang Unix Timestamp
mysql> select unix_timestamp(Duetimestamp) from DemoTable;
Kết quả:
+------------------------------+ | unix_timestamp(Duetimestamp) | +------------------------------+ | 1566314325 | | 1453359840 | | 1525120200 | | 1488397220 | +------------------------------+
Giải thích:
UNIX_TIMESTAMP(datetime_col): Chuyển datetime → số nguyên giây (Unix epoch)- Ngược lại:
FROM_UNIXTIME(unix_ts)chuyển số → datetime - Lưu ý múi giờ: TIMESTAMP lưu theo UTC, chuyển đổi tuỳ thuộc vào
time_zonesession
Ứng dụng: Tích hợp với API, JavaScript (Date.now()), so sánh thời gian cross-platform, cache, logging.