unix_micros:时间戳转微秒数
速查结论
unix_micros(timestamp) 是 Spark SQL 中用于将时间戳转为自 1970-01-01 00:00:00 UTC 以来的微秒数的函数。
语法
unix_micros(timestamp)
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| timestamp | TIMESTAMP | 一个时间戳值,函数将计算该时间戳到 Unix 纪元(1970-01-01 00:00:00 UTC)之间的微秒数。 |
Examples
> SELECT unix_micros(TIMESTAMP('1970-01-01 00:00:01Z'));
1000000
常见报错与避坑指南
- 传入 NULL 值:如果
timestamp为 NULL,函数返回 NULL,不会报错。 - 类型不匹配:
unix_micros要求参数为TIMESTAMP类型。若传入字符串,需先用TIMESTAMP()进行显式转换。 - 返回值范围:函数返回
BIGINT类型,微秒级精度使得数值非常庞大,注意在后续数值运算中可能超出INT的范围。
Since: 3.1.0
📱关注公众号
「数据仓库技术」文章同步更新,不错过每一篇干货

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