hive 中的null在hdfs中以\N存储,在日常处理中遇到Null的情况大多发生在Join对应操作中,而对于null的各种操作返回值都是null。例如:
hive> select null + 1;
OK
_c0
NULL
Time taken: 0.147 seconds, Fetched: 1 row(s)
null 与 null 比较返回值是null ,这个值得注意。
hive> select null == null;
OK
_c0
NULL
Time taken: 0.13 seconds, Fetched: 1 row(s)
null 判断使用 is null or is not null
hive> select if(null is null, "i am null", "i am not null");
OK
_c0
i am null
Time taken: 0.152 seconds, Fetched: 1 row(s)
空值(空字符)"" 与null 不相等。
hive> select null == "";
OK
_c0
NULL
Time taken: 0.252 seconds, Fetched: 1 row(s)