Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


UNIX_TIMESTAMP

📄字数 762
👁️阅读量 加载中...

功能描述

返回日期时间值的UNIX时间戳,表示自 1970-01-01 00:00:00 UTC 以来经过的秒数。

语法格式

sql
UNIX_TIMESTAMP([expr])

输入参数

  • expr:日期时间值,DATEDATETIME 类型,或能隐式转换为 DATEDATETIME 类型的其他类型。如果 expr 早于 1970-01-01 00:00:00 UTC,则返回值为负数,如果省略 expr,则返回当前系统时间的UNIX时间戳。输入参数的范围:[0001-01-01 00:00:00.000000, 9999-12-31 23:59:59.999999]

提示

  • NULL 无具体的类型,所以当参数为 NULL 时,会产生异常 E10100 候选函数出现多义性,需要手动为参数指定具体的类型,如:UNIX_TIMESTAMP(NULL::DATE)

输出结果

输出结果类型见下表,输出结果的范围:[-62135596800, 253402300799.999999],输入参数为 NULL 时,输出结果为 NULL

输入参数类型输出结果类型
-BIGINT
DATEBIGINT
DATETIMENUMERIC

提示

  • - 表示无输入参数。
  • 版本 12.5 之前,此函数返回值以毫秒为单位。
  • 结果不会受时区影响。

示例

sql
-- 返回 '2012-10-01 15:32:45' 的UNIX时间戳
SQL> SELECT UNIX_TIMESTAMP('2012-10-01 15:32:45');

+------------+
|   EXPR1    |
+------------+
| 1349105565 |
+------------+

-- 返回 '2012-10-01 15:32:45.211985' 的UNIX时间戳
SQL> SELECT UNIX_TIMESTAMP('2012-10-01 15:32:45.211985');

+-------------------+
|       EXPR1       |
+-------------------+
| 1349105565.211985 |
+-------------------+

-- 返回 '1960-10-01 15:32:45.211985' 的UNIX时间戳
SQL> SELECT UNIX_TIMESTAMP('1960-10-01 15:32:45.211985');

+-------------------+
|       EXPR1       |
+-------------------+
| -291889634.788015 |
+-------------------+