我们有两张table:A桌和B桌。表A有空值。我想比较a.columna和b.columna从a.id=b.id和a.columna上的表a中选择count(*)=b、 圆柱预期结果应为2,但实际结果为零。此查询不比较空值。如何比较空值的列?
oug3syen1#
使用 <=> (空安全相等运算符)对返回的比较求反 FALSE 如果其中一个操作数 null 但是 TRUE 当两者都是 null 两个操作数的非空值相等。
<=>
FALSE
null
TRUE
select sum(cast(not a.columnA <=> B.columnA) as int) From tableA a join tableB b on a.ID=b.ID
okxuctiv2#
从a.id=b.id的表a中选择count(*),然后合并(a.columna,'1')=b、 圆柱当我使用coalesce时它就工作了
2条答案
按热度按时间oug3syen1#
使用
<=>
(空安全相等运算符)对返回的比较求反FALSE
如果其中一个操作数null
但是TRUE
当两者都是null
两个操作数的非空值相等。okxuctiv2#
从a.id=b.id的表a中选择count(*),然后合并(a.columna,'1')=b、 圆柱
当我使用coalesce时它就工作了