我在HUE编辑器中针对HIVE表发布了以下select语句,并得到以下结果。
SELECT statestartdate,
to_date(from_unixtime(statestartdate, 'yyyy-MM-dd HH:mm:ss')) AS statestartdatestr
FROM processmining.InstanceUserPerformance limit 100
结果
statestartdate statestartdatestr
1363782909107 45186-07-24
问题 在“ statestartdatestr”字段的年份区域,由于某种奇怪的原因,我得到45186!谁能指出为什么呢?谢谢。
答案 0 :(得分:1)
似乎您的statestartdate
是自Unix时代以来的毫秒数。根据{{3}},函数from_unixtime
从Unix时代获取 seconds 的时间。
因此,如果您想将statestartdate
转换为秒和日期数据类型,则可以尝试如下操作...
SELECT statestartdate,
to_date(
from_unixtime(
floor(statestartdate / 1000),
'yyyy-MM-dd HH:mm:ss'
)
) AS statestartdatestr
FROM processmining.InstanceUserPerformance LIMIT 100