MySQL 基础教程

MySQL 高级教程

MySQL SQL 语句

MySQL 笔记

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/mysql-func-unix_timestamp.html

MySQL UNIX_TIMESTAMP 时间戳函数用法全解

MySQL 内置函数及自定义函数详解 MySQL 内置函数及自定义函数详解


MySQL UNIX_TIMESTAMP() 函数返回精确到秒的当前时间的时间戳,若指定时间类型的参数,它会得到对应的时间戳,也是精确到秒,如果时间类型是包含毫秒形式的,返回的也是精确到小数点,表示对应的毫秒。

语法

UNIX_TIMESTAMP([date])

如上所述,无参时,返回精确到秒的时间戳,指定时间类型参数,返回相应时间戳。

参数可以是 DATEDATETIMETIMESTAMP 或符合格式的字符串,也可以是数字,数字格式如 YYMMDDYYMMDDhhmmssYYYYMMDDYYYYMMDDhhmmss 等等。

示例

获取当前的时间戳:

mysql> SELECT UNIX_TIMESTAMP();
+------------------+
| UNIX_TIMESTAMP() |
+------------------+
|       1619456614 |
+------------------+
1 row in set (0.16 sec)

获取指定时间的时间戳:

mysql> SELECT UNIX_TIMESTAMP('2021-05-01 21:18:36');
+---------------------------------------+
| UNIX_TIMESTAMP('2021-05-01 21:18:36') |
+---------------------------------------+
|                            1619875116 |
+---------------------------------------+
1 row in set (0.12 sec)

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

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)

如果需要返回的时间戳必须要是精确到秒的整数,假设时间类型字段为 create_date,可以如下:

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)

笔记

mysql 的 UNIX_TIMESTAMP 函数可以讲时间类型转化为时间戳,如果时间类型是精确到毫秒,那它转化的时间戳也变为浮点数,因为它 ...
MySQL ISNULL 函数用来判断指定表达式(通常是字段)是否为 NULL,如果是空,返回 1,否则返回 0。 ...
MySQL NOW() 函数以 YYYY-MM-DD HH:MM:DD 或 YYYYMMDDHHMMSS.uuuuuuu 格式的字符串或数字 ...
MySQL 中 CAST 函数可以将指定的变量值转化为指定的类型。 ...
在Java中获取时间戳有多种方式,我将为您介绍其中几种常用的方式,并提供相应的代码示例。示例代码:Gradle依赖:###使用Date类(不 ...