0


hive空值、NULL值判断

首先我们要明白:在hive中 空值和NULL是不等价的
1.一种标示为NULL
column1column2dsfNULLDFSDFSddfff
2.一种没有标示 直接为空值
column1column2dfsfdfsfd
如果是第一种,在表中显示为NULL,则在底层数据中,保存的可能为NULL或\n
此时 通过语句

column2 is null

即可查询为NULL的字段

如果为第二种,在表中没有值,其表示的为字段不为null且为空字符串的值
此时 要通过

column2="

或者

length(column2) =0

下面补充一个 如何处理hive的NULL值

hive中并没有sql server的

isnull()

函数 也没有 mysql的

ifnull()

函数
但它可以用

if

语句替代
假设有表 column:
产品名称单价售出产品个数猪肉302白菜45油麦菜2NULL玉米31在hive里面计算每个产品分别卖了多少钱在hive中可以这么写(暂时忽略中英文):

select
    产品名称
    ,单价*if(售出产品个数 isnull,0, 售出产品个数) 总售价
fromtable

其中

if(售出产品个数 isnull,0, 售出产品个数)

表示的是 如果售出产品个数为NULL,则置其为0, 否则 置其为原值。
同理 如果处理hive的空值 可以在

if

语句中用

 length()

来作为判断条件


本文转载自: https://blog.csdn.net/naxiaorongshixiatian/article/details/124839247
版权归原作者 naxiaorongshixiatian 所有, 如有侵权,请联系我们删除。

“hive空值、NULL值判断”的评论:

还没有评论