1、hive中的date_format与oracle的to_date
两个函数都用来将给定字符串转换成指定格式,date_format最终转换成字符串,to_date转成日期。
另外to_date中用来指定转换格式的模板yyyymmdd,大写小均可以得到的结果也是一致的
select to_date('2019-01-01','yyyy-mm-dd'), to_date('2019-01-01','YYYY-MM-DD') from dual;
2019/1/1 2019/1/1
在date_format中大小写的结果不一致
select date_format('2019-02-01','yyyy-mm-dd'), date_format('2019-02-01','YYYY-MM-DD'),date_format('2019-02-01','yyyyMMdd');
2019-00-01 2019-02-32 20190201
2、hive与oracle中关于!=或者<>过滤NULL、‘’
oracle中‘’与null都相当于空值,在结果集什么都不显示,在使用!=或者<>时这两种值不会作为结果集返回
在hive中‘’与null不同,在结果集中‘’什么都不显示,null显示NULL。null在使用!=或者<>时不作为结果集返回,而‘’是会作为结果集返回的
3、hive中的decode与oracle中对比
在hive总decode是进制转换函数,而hive中的if函数才与oracle中的decode效果类似
if(expr1,expr2,expr3)
if expr1 is True(expr1<>0 and expr1<>null) then return expr2 otherwise return expr3
if(t.col is not null,'True','False')