在 MySQL 中将 INT 转换为 DATETIME?

您可以使用内置函数from_unixtime()将 INT 转换为 DATETIME。语法如下 -

SELECT FROM_UNIXTIME(yourColumnName,’%Y-%m-%d') as AnyVariableName from
yourTableName;

要理解上述语法,让我们首先创建一个表。创建表的查询如下 -

mysql> create table IntToDateDemo
   -> (
   -> Number int
   -> );

使用插入命令在表中插入一些记录。插入记录的查询如下 -

mysql> truncate table IntToDateDemo;

mysql> insert into IntToDateDemo values(1545284721);

mysql> insert into IntToDateDemo values(1576820738);

mysql> insert into IntToDateDemo values(1513748752);

mysql> insert into IntToDateDemo values(1671515204);

现在您可以使用 select 语句显示表中的所有记录。查询如下 -

mysql> select *from IntToDateDemo;
输出结果
+------------+
| Number     |
+------------+
| 1545284721 |
| 1576820738 |
| 1513748752 |
| 1671515204 |
+------------+
4 rows in set (0.00 sec)

这是使用from_unixtime()函数将 int 转换为 datetime 的查询。查询如下 -

mysql> select from_unixtime(Number,'%Y-%m-%d') as DateDemo from IntToDateDemo;

以下是显示转换后的日期时间的输出 -

+------------+
| DateDemo   |
+------------+
| 2018-12-20 |
| 2019-12-20 |
| 2017-12-20 |
| 2022-12-20 |
+------------+
4 rows in set (0.00 sec)