Bạn có thể sử dụng hàm tích hợp from_unixtime () để chuyển đổi INT thành DATETIME. Cú pháp như sau -
SELECT FROM_UNIXTIME(yourColumnName,’%Y-%m-%d') as AnyVariableName from yourTableName;
Để hiểu cú pháp trên, trước tiên chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau -
mysql> create table IntToDateDemo -> ( -> Number int -> ); Query OK, 0 rows affected (0.59 sec)
Chèn một số bản ghi trong bảng bằng lệnh chèn. Truy vấn để chèn bản ghi như sau -
mysql> truncate table IntToDateDemo; Query OK, 0 rows affected (4.11 sec) mysql> insert into IntToDateDemo values(1545284721); Query OK, 1 row affected (0.19 sec) mysql> insert into IntToDateDemo values(1576820738); Query OK, 1 row affected (0.19 sec) mysql> insert into IntToDateDemo values(1513748752); Query OK, 1 row affected (0.24 sec) mysql> insert into IntToDateDemo values(1671515204); Query OK, 1 row affected (0.18 sec)
Bây giờ bạn có thể hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select. Truy vấn như sau -
mysql> select *from IntToDateDemo;
Đầu ra
+------------+ | Number | +------------+ | 1545284721 | | 1576820738 | | 1513748752 | | 1671515204 | +------------+ 4 rows in set (0.00 sec)
Đây là truy vấn chuyển đổi int thành datetime bằng cách sử dụng hàm from_unixtime (). Truy vấn như sau -
mysql> select from_unixtime(Number,'%Y-%m-%d') as DateDemo from IntToDateDemo;
Sau đây là kết quả hiển thị ngày giờ đã chuyển đổi -
+------------+ | DateDemo | +------------+ | 2018-12-20 | | 2019-12-20 | | 2017-12-20 | | 2022-12-20 | +------------+ 4 rows in set (0.00 sec)