MySQL 基础教程

MySQL 高级教程

MySQL SQL 语句

MySQL 笔记

mysql UNIX_TIMESTAMP 时间戳转化为整数

MySQL UNIX_TIMESTAMP 时间戳函数用法全解 MySQL UNIX_TIMESTAMP 时间戳函数用法全解


mysql 的 UNIX_TIMESTAMP 函数可以讲时间类型转化为时间戳,如果时间类型是精确到毫秒,那它转化的时间戳也变为浮点数,因为它的时间戳单位是秒,那如何通过 mysql 语句就能强制转化为只精确到秒的整数?

推荐方式

如果指定的时间数据为精确到毫秒,返回时间戳会如下:

mysql> SELECT UNIX_TIMESTAMP('2021-05-01 21:18:36.123');
+-------------------------------------------+
| UNIX_TIMESTAMP('2021-05-01 21:18:36.123') |
+-------------------------------------------+
|                            1619875116.123 |
+-------------------------------------------+
1 row in set (0.00 sec)

可以利用 CAST 函数进行强制转换,具体如下:

mysql> SELECT CAST(UNIX_TIMESTAMP(create_date) AS int) AS a FROM tb_user LIMIT 1;
+--------------+
|            a |
+--------------+
|   1619875116 |
+--------------+
1 row in set (0.00 sec)