MySQL中如何将INT转换为DATETIME?
您可以使用内置函数from_unixtime()将INT转换为DATETIME。具体语法如下 −
SELECT FROM_UNIXTIME(yourColumnName,’%Y-%m-%d') as AnyVariableName from
yourTableName;
为了理解上述语法,让我们首先创建一个表。创建表的查询语句如下 −
mysql> create table IntToDateDemo
-> (
-> Number int
-> );
Query OK, 0 rows affected (0.59 sec)
使用插入命令将一些记录插入表中。插入记录的查询语句如下 −
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)
现在,您可以使用select语句显示表中的所有记录。查询如下所示 −
mysql> select *from IntToDateDemo;
阅读更多:MySQL 教程
输出结果
+------------+
| 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;
以下是显示转换后的datetime的输出结果 −
+------------+
| DateDemo |
+------------+
| 2018-12-20 |
| 2019-12-20 |
| 2017-12-20 |
| 2022-12-20 |
+------------+
4 rows in set (0.00 sec)