您好我正在尝试使用以下查询提取配置单元中时间戳列的月份和年份部分
select from_unixtime(unix_timestamp(upd_gmt_ts,'yyyyMM')) from abc.test;
输出看起来像2016-05-20 01:08:48
所需的输出应为201605
感谢任何建议。
答案 0 :(得分:12)
我更喜欢使用Hive date_format()(从Hive 1.2.0开始)。它支持Java SimpleDateFormat模式。
date_format()
接受date/timestamp/string
。所以你的最终查询将是
select date_format(upd_gmt_ts,'yyyyMM') from abc.test;
修改强>
SimpleDateFormat
可接受的模式示例。
答案 1 :(得分:1)
您可以使用 CONCAT和FROM_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;
答案 2 :(得分:1)
请使用以下查询
SELECT YEAR(FROM_UNIXTIME(unix_timestamp()))*100 + MONTH(FROM_UNIXTIME(unix_timestamp()))
答案 3 :(得分:0)
要查看yyyy-mm-dd hh:mm:ss
格式的日期,您可以按照以下方式使用它:
select to_utc_timestamp(col_name, 'PST') * from table;