from_unixtime:UNIX时间戳转日期
速查结论
from_unixtime(unix_time[, fmt]) 是 Spark SQL 中用于将 UNIX 时间戳转换为指定格式的日期时间字符串的函数。
语法
from_unixtime(unix_time[, fmt])
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| unix_time | BIGINT | 要转换为提供格式的 UNIX 时间戳 |
| fmt | STRING | 要遵循的日期/时间格式模式。请参阅日期时间模式以获取有效的日期和时间格式模式。如果省略,则使用 'yyyy-MM-dd HH:mm:ss' 模式 |
示例
> SELECT from_unixtime(0, 'yyyy-MM-dd HH:mm:ss');
1969-12-31 16:00:00
> SELECT from_unixtime(0);
1969-12-31 16:00:00
常见报错与避坑指南
- UNIX 时间戳 0 对应的 UTC 时间是
1970-01-01 00:00:00,但在东八区(如北京时间)显示为1969-12-31 16:00:00,这是正确的时区偏移,不是 bug。 - 如果
fmt格式字符串无效,Spark 将抛出IllegalArgumentException。
Since: 1.5.0
📱关注公众号
「数据仓库技术」文章同步更新,不错过每一篇干货

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