函数名称

TO_UNIX_TIMESTAMP

功能描述

TO_UNIX_TIMESTAMP 函数用于将不同类型的日期时间表达式转换为 Unix 时间戳(UTC)。Unix 时间戳是从 '1970-01-01 00:00:00' UTC 到指定时间的总秒数。如果提供 fmt 参数,则按照该格式解析 expr;否则,按照默认的 'yyyy-MM-dd HH:mm:ss' 格式解析。如果 expr 中的日期时间非法或无法解析,函数将返回 null。

参数说明

  • expr (string): 需要转换的日期时间字符串。
  • fmt (string, 可选): 日期时间字符串的格式。默认为 'yyyy-MM-dd HH:mm:ss'。

返回结果

返回一个 bigint 类型的 Unix 时间戳。

使用示例

  1. 将默认格式的字符串转换为 Unix 时间戳:
SELECT TO_UNIX_TIMESTAMP('2022-02-01 10:23:32') as res;
+------------+
|    res     |
+------------+
| 1643682212 |
+------------+
  1. 将自定义格式的字符串转换为 Unix 时间戳:
SELECT TO_UNIX_TIMESTAMP('2022/02/01 10:23:32.121', 'yyyy/MM/dd HH:mm:ss.SSS') as res;
+------------+
|    res     |
+------------+
| 1643682212 |
+------------+
  1. 转换非法日期时间字符串:
SELECT TO_UNIX_TIMESTAMP('2022-02-30 10:23:32');
+------+
| res  |
+------+
| null |
+------+

注意事项

  • fmt 参数未提供或格式不正确时,将使用默认格式进行解析。
  • 如果输入的日期时间字符串无法解析或非法,函数将返回 null。
  • 请确保 expr 参数中的日期时间字符串与 fmt 参数(如有)的格式相匹配,以获得正确的转换结果。

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