如何比较配置单元中不同表中具有空值的两列

ki0zmccv  于 2021-06-26  发布在  Hive
关注(0)|答案(2)|浏览(372)


我们有两张table:A桌和B桌。表A有空值。我想比较a.columna和b.columna
从a.id=b.id和a.columna上的表a中选择count(*)=b、 圆柱
预期结果应为2,但实际结果为零。此查询不比较空值。如何比较空值的列?

oug3syen

oug3syen1#

使用 <=> (空安全相等运算符)对返回的比较求反 FALSE 如果其中一个操作数 null 但是 TRUE 当两者都是 null 两个操作数的非空值相等。

select sum(cast(not a.columnA <=> B.columnA) as int) 
From tableA a 
join tableB b on a.ID=b.ID
okxuctiv

okxuctiv2#

从a.id=b.id的表a中选择count(*),然后合并(a.columna,'1')=b、 圆柱
当我使用coalesce时它就工作了

相关问题