文章目录
在工作做一些计算时担心类型问题、报错,还有除数为0的情况,提前做一下预防。
1、简单测试下
--1、
select 1/0;
--2、
select 0/0;
--3、
select 0/1
直观结果截图如下:
除以0,结果为null
0除以,结果为浮点型
2、搞个Demo建表测试
#建表
create table cm_test.number_t(
id string,
num string,
numb bigint
) stored as parquet;
#插入数据
insert into cm_test.number_t values("1","3",5);
insert into cm_test.number_t values("2","",5);
insert into cm_test.number_t values("3","3",null);
#查看数据
hive> select * from cm_test.number_t;
hive> select * ,num/numb as res1,numb/num as res2 from number_t;
结果如下:
空串与NULL作为除数和被除数的结果都是NULL。在做计算类需求时,要考虑到数据各种类型情况,避免一些不必要的问题,
减少BUG。