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函数,我们可以轻松将时间戳转换为可读的日期时间格式。
极客笔记