Month in MM using Month() in Hive

我是研究僧i 提交于 2019-12-05 20:33:32

month() function returns integer, that is why there is no leading zero. You can use lpad(month,2,0) function to format month:

hive> select lpad(month('2017-09-01'),2,0);
OK
09
Time taken: 0.124 seconds, Fetched: 1 row(s)
hive> select lpad(month('2017-10-01'),2,0);
OK
10
Time taken: 0.433 seconds, Fetched: 1 row(s)

Alternatively you can use substr() to extract year and month from the date:

hive> select substr('2017-10-01',1,4) as year, substr('2017-10-01',6,2) as month;
OK
year    month
2017    10

date_sub() function prior to Hive 2.1.0 (HIVE-13248) return type was a String because no Date type existed when the method was created. See here: https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!