将 unixtimestamp 转换为 datetime 未能在 impala/hive 中产生正确的结果
converting unixtimestamp to datetime failed to yield correct result in impala/hive
如果此问题已在其他时间和其他地方得到回答,我们深表歉意。
我的查询:
select from_unixtime(1501083119,"yyyy-MM-dd HH:mm:ss")
这个 returns 正确的结果:
2017-07-26 15:31:59
我的数据是这样的:
1501081198789
如您所见,该值与测试查询中的值完全不同,如果我将其放入查询中:
它 returns NULL
问题似乎是最后四位数字引起的,我该如何解决这个问题?
非常感谢。
由于您的纪元时间以毫秒为单位,如果您按如下方式修改查询,您将获得所需的输出:
select from_unixtime(cast('1501081198789'/1000 as bigint),"yyyy-MM-dd HH:mm:ss")
2017-07-26 10:59:58
如果此问题已在其他时间和其他地方得到回答,我们深表歉意。 我的查询:
select from_unixtime(1501083119,"yyyy-MM-dd HH:mm:ss")
这个 returns 正确的结果:
2017-07-26 15:31:59
我的数据是这样的: 1501081198789
如您所见,该值与测试查询中的值完全不同,如果我将其放入查询中: 它 returns NULL
问题似乎是最后四位数字引起的,我该如何解决这个问题?
非常感谢。
由于您的纪元时间以毫秒为单位,如果您按如下方式修改查询,您将获得所需的输出:
select from_unixtime(cast('1501081198789'/1000 as bigint),"yyyy-MM-dd HH:mm:ss")
2017-07-26 10:59:58