模块 |
Hive时间函数特别注意 |
要点 |
除了unix_timestamp/from_unixtime之外 其他函数无法识别‘年-月’形式,至少‘年-月-日’ |
to_date |
注意to_date就是返回年-月-日,和day(‘2019-07-02’)返回02不一样 |
Date_sub 注意和mysql语法不同 |
|
cast |
|
Date_format |
这里要注意:date_format只能做转换,或者><=比较 不能直接将结果用于日期加减运算 可以它看作规范日期格式的过渡函数 如下:第一种可以,第二种运算无效,第三种运算是正确方法 |
可以识别的 |
可以识别任意格式的日期,即使不能精确到日,但是注意要明确日期格式之后才能转换(不是默认格式yyyy-MM-dd HH:mm:ss会转换失败) |
示范 |
选择日期2015-09半个月之前的月份 select from_unixtime((unix_timestamp('2015-09','yyyy-MM')-1296000),'yyyy-MM'); |
注意to_date和day()/month()/year()的差别哦!!!!!!后者更像字符串截取