正在将“03/11/2019 11:45:00”转换为配置单元时间戳

8ljdwjyq  于 2021-06-27  发布在  Hive
关注(0)|答案(1)|浏览(285)

我有格式的日期 '3/20/2019 17:23:00' 或者 '2/1/2019 11:44:00' 他们进来的时候 null 当我在配置单元中将类型指定为timestamp时。我试图用下面的代码将其转换为,但我不确定这是否是不可能的,或者我是否指定了错误的模式。
例如,其中一个日期变量称为“on\dtml”

from_unixtime(unix_timestamp(on_dtml, 'MM/DD/YY HH:MM:SS'))

我在一个表中以字符串格式编写了值,在时间戳中定义了第二个表,现在我尝试用上面的代码将值从以字符串形式存储的表写入第二个表。请帮忙

insert into table test_table 
select variable1 string, from_unixtime(unix_timestamp(on_dtml, 'MM/DD/YY HH:MM:SS'));
rdlzhqv9

rdlzhqv91#

正确的模式是 'MM/dd/yyyy HH:mm:ss' :

from_unixtime(unix_timestamp(on_dtml, 'MM/dd/yyyy HH:mm:ss'));

阅读这里的格式模式:simpledateformat大写/小写在模式中非常重要。
请参见此处的测试:http://demo.gethue.com/hue/editor?editor=292420

select from_unixtime(unix_timestamp('3/20/2019 17:23:00', 'MM/dd/yyyy HH:mm:ss'));

结果:

2019-03-20 17:23:00

再来一次测试:

select from_unixtime(unix_timestamp('2/1/2019 11:44:00', 'MM/dd/yyyy HH:mm:ss'));

结果:

2019-02-01 11:44:00

相关问题