跳到主要内容

unix_timestamp:获取Unix时间戳

速查结论

unix_timestamp([timeExp[, fmt]]) 是 Spark SQL 中用于**获取当前时间或指定时间的 UNIX 时间戳(秒)**的函数。

语法

unix_timestamp([timeExp[, fmt]])

参数说明

参数类型说明
timeExpDATE / TIMESTAMP / STRING一个日期/时间戳或字符串。如果没有提供,默认为当前时间。
fmtSTRING日期/时间格式模式。如果 timeExp 不是字符串,则忽略此参数。默认值是 "yyyy-MM-dd HH:mm:ss"。请参阅日期时间模式以获取有效的日期和时间格式模式。

Examples

> SELECT unix_timestamp();
1476884637
> SELECT unix_timestamp('2016-04-08', 'yyyy-MM-dd');
1460041200

常见报错与避坑指南

  • 格式不匹配:当 timeExp 是字符串且格式与 fmt 不一致时,函数返回 NULL(在某些模式下可能抛出异常),不会给出明确报错提示。
  • 时区敏感性unix_timestamp 基于当前会话时区进行转换。跨时区使用时,请确保会话时区设置正确。
  • 无参数调用:无参调用 unix_timestamp() 返回当前时间的秒级 UNIX 时间戳,与 unix_seconds(current_timestamp()) 等效。

Since: 1.5.0

📱关注公众号

「数据仓库技术」文章同步更新,不错过每一篇干货

微信公众号二维码
💬加群交流

备注「数据仓库技术」加入社群,每日一道大厂SQL真题

交流微信二维码

你可能还想看