hive日期格式化的问题

hive日期格式化的问题

清泓
2022-06-20 / 0 评论 / 1,689 阅读 / 565字 / 正在检测是否收录...

问题

  在hive中,经常需要进行日期的计算,可是,经常会出现这样一种情况,hive仓库中日期的存储格式是yyyyMMdd,例如20220505,在进行日期的计算时,hive支持的函数例如,add_months 仅识别yyyy-MM-dd格式的函数,如果输入yyyyMMdd的参数,返回结果是null。所以我们在对日期的字段进行计算时,优先需要进行格式的转换,将yyyyMMdd转换成yyyy-MM-dd格式。

需要注意的是,字符串日期格式化仅支持yyyy-MM-dd转为yyyyMMdd,不支持yyyyMMdd转为yyyy-MM-dd,转化后为null。

解决

  解决日期格式化最好的方法就是将日期格式转化为时间戳,再转换成需要的格式

举例:将yyyyMMdd HH:mm:ss格式的字符串时间 20220505 05:05:05 转换为yyyy-MM-dd HH:mm:ss 格式 2022-05-05 05:05:05

from_unixtime(unix_timestamp('20220505 05:05:05','yyyyMMdd HH:mm:ss'),'yyyy-MM-dd HH:mm:ss')
0

打赏

评论

博主关闭了当前页面的评论