hive-month和year from timestamp列

vwkv1x7d  于 2021-05-29  发布在  Hadoop
关注(0)|答案(4)|浏览(411)

嗨,我正在尝试使用下面的查询在配置单元中提取时间戳列的月份和年份部分

select from_unixtime(unix_timestamp(upd_gmt_ts,'yyyyMM')) from  abc.test;

输出看起来像2016-05-20 01:08:48
预期输出应为201605
谢谢你的建议。

swvgeqrz

swvgeqrz1#

我更喜欢使用配置单元日期\格式()(从配置单元1.2.0开始)。它支持java SimpleDataFormat模式。 date_format() 接受 date/timestamp/string . 所以你最后的问题是

select date_format(upd_gmt_ts,'yyyyMM') from abc.test;

编辑: SimpleDateFormat 可接受的模式示例。

fv2wmkja

fv2wmkja2#

查看日期 yyyy-mm-dd hh:mm:ss 格式,可以按如下方式使用:

select to_utc_timestamp(col_name, 'PST') * from table;
oprakyz7

oprakyz73#

您可以使用concat和from\u unixtime,如下所示:

SELECT CONCAT(YEAR(FROM_UNIXTIME(1468215093)), MONTH(FROM_UNIXTIME(1468215093))) AS YEAR_MONTH

在您的查询中:

SELECT CONCAT(YEAR(FROM_UNIXTIME(upd_gmt_ts)), MONTH(FROM_UNIXTIME(upd_gmt_ts))) AS YEAR_MONTH
FROM abc.test;
lg40wkob

lg40wkob4#

请使用以下查询

SELECT YEAR(FROM_UNIXTIME(unix_timestamp()))*100 + MONTH(FROM_UNIXTIME(unix_timestamp()))

相关问题