mysql bigint 转时间
在MySQL数据库中,BIGINT
类型通常用于存储大整数,但有时候我们需要将BIGINT
类型的时间戳转换为可读的日期时间格式。本文将详细介绍如何在MySQL中将BIGINT
类型的时间戳转换为日期时间格式。
1. 示例数据
首先,让我们创建一个示例表test_table
,其中包含一个BIGINT
类型的时间戳字段timestamp
:
CREATE TABLE test_table (
id INT NOT NULL AUTO_INCREMENT,
timestamp BIGINT,
PRIMARY KEY (id)
);
INSERT INTO test_table (timestamp) VALUES (1631894425000), (1631894489000);
2. 使用FROM_UNIXTIME函数转换时间戳
在MySQL中,可以使用FROM_UNIXTIME
函数将BIGINT
类型的时间戳转换为日期时间格式。该函数的语法如下:
SELECT FROM_UNIXTIME(timestamp) AS time FROM test_table;
上面的代码将从test_table
表中的timestamp
字段中提取时间戳并将其转换为日期时间格式。可以按照以下步骤查看结果:
mysql> SELECT FROM_UNIXTIME(timestamp) AS time FROM test_table;
+---------------------+
| time |
+---------------------+
| 2021-09-18 08:40:25 |
| 2021-09-18 08:41:29 |
+---------------------+
2 rows in set (0.00 sec)
从上面的结果可以看出,BIGINT
类型的时间戳已成功转换为日期时间格式。
3. 使用DATE_FORMAT函数自定义日期时间格式
除了使用FROM_UNIXTIME
函数之外,还可以使用DATE_FORMAT
函数将日期时间格式自定义为特定的格式。该函数的语法如下:
SELECT DATE_FORMAT(FROM_UNIXTIME(timestamp), '%Y-%m-%d %H:%i:%s') AS time FROM test_table;
上面的代码将从test_table
表中的timestamp
字段中提取时间戳并将其转换为自定义的日期时间格式。可以按照以下步骤查看结果:
mysql> SELECT DATE_FORMAT(FROM_UNIXTIME(timestamp), '%Y-%m-%d %H:%i:%s') AS time FROM test_table;
+---------------------+
| time |
+---------------------+
| 2021-09-18 08:09:25 |
| 2021-09-18 08:09:29 |
+---------------------+
2 rows in set (0.00 sec)
从上面的结果可以看出,BIGINT
类型的时间戳已成功转换为自定义的日期时间格式。
4. 总结
在本文中,我们介绍了如何在MySQL中将BIGINT
类型的时间戳转换为日期时间格式。通过使用FROM_UNIXTIME
函数和DATE_FORMAT
函数,我们可以轻松将时间戳转换为可读的日期时间格式。