繁体   English   中英

hive 从查询中排除值

[英]hive exclude values from query

我有一些数据看起来像

name        state
mary        florida
mary        NULL
john        alabama
mary        NULL
salt        texas

我想用 null state 获取不包括玛丽的结果。当我尝试

select name, state from my table where (state is not null and name = 'mary')

这只会给我所有连接了 state 的玛丽。

我在预期结果中寻找的是

name        state
mary        florida
john        alabama
salt        texas

选择除name ='mary'以外的所有其他状态,其状态为NULL:

select name, state from my table where NOT (state IS NULL AND name = 'mary');

根据德摩根定律也是如此 (合取反就是取反)。

select name, state from my table where (state IS NOT NULL) OR (name != 'mary');

select 名称,state 来自我的表,其中 state 不是 null

上面的查询将为您提供预期的结果

当您没有获得预期结果时,将 function 用于具有 null 值的列是一个很好的做法

select 名称,state 来自我的表,其中 coalesce(state,'default') 不是默认值;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM