UNIX_TIMESTAMP 函数

功能描述

UNIX_TIMESTAMP 函数用于获取当前时间或指定时间的 UNIX 时间戳(Unix timestamp),即从 1970 年 1 月 1 日 00:00:00 UTC 到指定时间的总秒数。如果不指定任何参数,默认返回当前时间的 UNIX 时间戳。

语法

unix_timestamp([expr [, fmt]])

参数说明

  • expr:可以是 date、timestamp_ltz 或 string 类型,表示要转换为 UNIX 时间戳的时间。如果不指定该参数,则默认使用当前时间。
  • fmt:字符串类型,表示输入时间的格式。如果不指定该参数,将根据系统默认的时间格式进行解析。

返回结果

返回一个 bigint 类型的值,表示 UNIX 时间戳。

使用示例

  1. 获取当前时间的 UNIX 时间戳:
SELECT UNIX_TIMESTAMP() as res;
+------------+
|    res     |
+------------+
| 1737447675 |
+------------+
  1. 获取指定时间的 UNIX 时间戳:
SELECT UNIX_TIMESTAMP('2022-02-23 10:00:00')as res;
+------------+
|    res     |
+------------+
| 1645581600 |
+------------+
  1. 获取指定时间格式的 UNIX 时间戳:
SELECT UNIX_TIMESTAMP('2022-02-23 10:00:00', 'yyyy-MM-dd HH:mm:ss')as res;
+------------+
|    res     |
+------------+
| 1645581600 |
+------------+
  1. 将字符串类型的时间转换为 UNIX 时间戳:
SELECT UNIX_TIMESTAMP('2022-02-23 10:00:00', 'yyyy-MM-dd HH:mm:ss')as res;
+------------+
|    res     |
+------------+
| 1645581600 |
+------------+
  1. 将 timestamp 类型的时间转换为 UNIX 时间戳:
SELECT UNIX_TIMESTAMP(TIMESTAMP "2022-02-23 10:00:00")as res;
+------------+
|    res     |
+------------+
| 1645581600 |
+------------+
  1. 将 date 类型的时间转换为 UNIX 时间戳:
SELECT UNIX_TIMESTAMP(DATE '2022-02-23')as res;
+------------+
|    res     |
+------------+
| 1645545600 |
+------------+

注意事项

  • 当输入的时间格式不正确或无法识别时,函数将返回 NULL。
  • 如果指定的时间超出了系统支持的时间范围,函数将返回 NULL。
  • 在使用该函数时,建议明确指定输入时间的格式,以避免因系统默认时间格式不同而导致的解析错误。

联系我们
预约咨询
微信咨询
电话咨询