MySQL: INT 转 DATETIME

MySQL: INT 转 DATETIME

MySQL 中,我们可以将一个整数类型的数值转换为日期/时间类型。这在日常开发中非常常见,比如使用 Unix 时间戳记录某个事件发生的时间,而我们又需要将该时间转换为 DATETIME 类型以进行查询和分析。

阅读更多:MySQL 教程

UNIX 时间戳

首先,让我们来了解一下 Unix 时间戳。Unix 时间戳是指从 1970 年 1 月 1 日 UTC(协调世界时)零时起到现在的总秒数。该数值可以用于表示任何日期和时间,即使是很远的未来或过去。例如,现在的 Unix 时间戳为:

SELECT UNIX_TIMESTAMP(NOW());
-- 输出结果:1635012312

INT 转 DATETIME

接下来,我们可以使用 MySQL 内置函数 FROM_UNIXTIME() 将一个 Unix 时间戳转换为 DATETIME 类型。该函数接受一个整数类型的 Unix 时间戳作为参数,如下所示:

SELECT FROM_UNIXTIME(1635012312);
-- 输出结果:2021-10-23 12:45:12

另外,如果你的 Unix 时间戳是以毫秒为单位的,那么你需要将该数值除以 1000,再将其转换为整数类型,才能正确地将其转换为 DATETIME 类型:

SELECT FROM_UNIXTIME(1635012312000 / 1000);
-- 输出结果:2021-10-23 12:45:12

总结

本文介绍了如何在 MySQL 中将一个整数类型的 Unix 时间戳转换为 DATETIME 类型。使用 MySQL 内置函数 FROM_UNIXTIME() 可以很方便地完成这个转换。如果你需要做这样的转换,希望这篇文章能对你有所帮助。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程