sparksql转换unix毫秒时间戳保留毫秒

sparksql转换unix毫秒时间戳保留毫秒,第1张

sparksql转换unix毫秒时间保留毫秒

背景:

一般unix时间戳是10位精度到秒,但是有时需要13位精确到毫秒。对于13位长度需要转换成可读格式并保留毫秒,在sparksql中没有找到直接的转换方式。

方案:

select 
concat(from_unixtime(1559461463324/1000,'yyyy-MM-dd HH:mm:ss.'), 1559461463324%1000) as c1 ,
to_timestamp(concat(from_unixtime(1559461463324/1000,'yyyy-MM-dd HH:mm:ss.'), 1559461463324%1000)) as c2,
date_format(to_timestamp(concat(from_unixtime(1559461463324/1000,'yyyy-MM-dd HH:mm:ss.'), 1559461463324%1000)),'yyyy-MM-dd HH:mm:ss.SSS') as c3

结果:

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5706181.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存