带时区的hive datetime格式

yduiuuwa  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(471)

我有一个unix时间戳,在它被插入sqlserver数据库之前,它正在使用配置单元中的视图进行转换。我遇到的问题是,我需要正确的格式将其插入到SQLServer中的datetimeoffset(2)字段中。以下是hive的一个示例:
查询:从unixtime(1413587962,'yyyy.mm.dd hh:mm:ss z')中选择;
结果:2014.10.17 11:19:22 utc
sql server无法隐式转换该格式。如果我运行的是sql server:
查询:选择convert(datetimeoffset(2),'2014.10.17 11:19:22 utc')
结果:从字符串转换日期和/或时间时,msg 241,级别16,状态1,行1转换失败。
如果我将utc更改为+00:00,sql server将转换为datetimeoffset(2)就可以了。
我需要在配置单元中使用什么格式来呈现偏移量中的小时和分钟,而不是文本时区?我累了[+|-]hh:mm,hh:mm,和z。

uxhixvfz

uxhixvfz1#

可能有帮助,Capital z从\u unixtime选择(1413587962,'yyyy.mm.dd hh:mm:ss z')2014.10.17 11:19:22+0000

If that does not work direct +00:00 works? 
select from_unixtime(1413587962, 'yyyy.MM.dd hh:mm:ss +00:00')

相关问题