Hive日期转整数:是否有内置函数实现该格式转换?
在Hive中转换日期为整数格式的内置函数方案
当然有更简洁的内置函数可以搞定这个需求啦!你不用手动拼接年月日,Hive的date_format函数就能帮你一步到位。
具体用法
首先得确认你的输入类型:如果是字符串格式的日期,先通过to_date()转成日期类型;如果本身就是日期类型的列,直接用date_format()指定格式为yyyyMMdd,最后转成整数类型即可:
-- 针对字符串类型的日期输入 cast(date_format(to_date('2017-07-03'), 'yyyyMMdd') as int) -- 针对日期类型的列(比如名为date_col的字段) cast(date_format(date_col, 'yyyyMMdd') as int)
效果验证
对于输入2017-07-03,上面的代码会输出20170703,完全符合你的期望结果。
和你原有方法的对比
你之前用year()*10000 + month()*100 + day()的方法虽然可行,但date_format更简洁易读,还能自动处理月份/日期是个位数时的补零问题,避免手动计算可能出现的疏漏。
内容的提问来源于stack exchange,提问作者hoboken 711
相关产品推荐
相关产品推荐

