hive中提取年月(与mysql语法存在差异)

如题所述

第1个回答  2022-07-18

背景:
存在表ods_sales_orders

实现:

或者

二者结果一致

存在疑问:
目的是提取字段create_date的年月

原数据:

操作:
因为原字段create_date是字符串类型,所以用TO_DATE()将其转化为日期类型,再利用dateformat()

结果:

为什么不是显示成'2019-02'这种形式,哪里有出错吗?但date_format(create_date,'YYYY-mm')显示的月份部分全部为00

回答:
hive和mysql的语法并不完全一致,hive里dateformat的格式是只有'yyyy-MM-dd HH',对应与mysql 的'%Y-%m-%d %H'
修改如下:

总结:

附:
hive日期函数