unix_timestamp:获取Unix时间戳
速查结论
unix_timestamp([timeExp[, fmt]]) 是 Spark SQL 中用于**获取当前时间或指定时间的 UNIX 时间戳(秒)**的函数。
语法
unix_timestamp([timeExp[, fmt]])
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| timeExp | DATE / TIMESTAMP / STRING | 一个日期/时间戳或字符串。如果没有提供,默认为当前时间。 |
| fmt | STRING | 日期/时间格式模式。如果 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真题
