unix_seconds:时间戳转秒数
速查结论
unix_seconds(timestamp) 是 Spark SQL 中用于将时间戳转为自 1970-01-01 00:00:00 UTC 以来的秒数的函数。更高精度部分(如毫秒、微秒)会被截断。
语法
unix_seconds(timestamp)
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| timestamp | TIMESTAMP | 一个时间戳值,函数将计算该时间戳到 Unix 纪元(1970-01-01 00:00:00 UTC)之间的秒数。 |
Examples
> SELECT unix_seconds(TIMESTAMP('1970-01-01 00:00:01Z'));
1
常见报错与避坑指南
- 精度截断:
unix_seconds会截断毫秒、微秒等更高级别的精度,仅返回整数秒。如需微秒级精度,请使用unix_micros。 - 传入 NULL 值:如果
timestamp为 NULL,函数返回 NULL,不会报错。 - 类型不匹配:
unix_seconds要求TIMESTAMP类型参数。传入字符串时需使用TIMESTAMP()进行显式转换。
Since: 3.1.0
📱关注公众号
「数据仓库技术」文章同步更新,不错过每一篇干货

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