如何使用Hive日期函数将指定字符串DateTime转换为日期时分格式?
在Hive中将DateTime字符串转换为日期+时分格式的解决方案
没问题,这事儿用Hive的date_format()函数就能轻松搞定,我给你一步步说明:
核心思路
Hive的date_format()函数可以直接将符合格式的日期时间字符串(或时间戳类型)转换成你需要的任意格式,我们只需要指定目标格式为yyyy-MM-dd HH:mm就可以了。
直接使用的示例
如果你的数据就是字符串形式的'2010-11-01 16:30:15',直接执行下面的SQL就能得到结果:
SELECT date_format('2010-11-01 16:30:15', 'yyyy-MM-dd HH:mm') AS formatted_datetime;
执行后会返回2010-11-01 16:30,完全符合你的需求。
针对表字段的用法
如果这个日期是你的表中的一个字段(比如字段名叫original_datetime),可以这么写:
SELECT date_format(original_datetime, 'yyyy-MM-dd HH:mm') AS formatted_datetime FROM your_target_table;
特殊情况处理(可选)
如果你的原始日期字符串格式比较特殊,Hive无法自动识别的话,可以先用to_timestamp()指定原始格式转换为时间戳,再用date_format()格式化,比如:
SELECT date_format( to_timestamp('2010-11-01 16:30:15', 'yyyy-MM-dd HH:mm:ss'), 'yyyy-MM-dd HH:mm' ) AS formatted_datetime;
不过你的例子里的格式是Hive默认支持的,所以这一步其实可以省略~
内容的提问来源于stack exchange,提问作者okechukwu anya
相关产品推荐
相关产品推荐

