Null 安全等于比较

Null-safe equals comparison

提问人:User1974 提问时间:7/2/2022 最后编辑:M. JustinUser1974 更新时间:11/15/2023 访问量:58

问:

SQLite 3.27版本:

有没有办法写一个表达式,将 a 与 a 进行比较的计算结果为 true?nullnull

例如:

with data (a,b) as (
values
(1,1),
(1,null),
(null,null)
)

select
  *
from
  data
where
  a = b

但结果将是:

     a       b
------  ------
     1       1
(null)  (null)

而不是:

     a       b
------  ------
     1       1

db<>小提琴

sql sqlite null 相等

评论


答:

1赞 User1974 7/2/2022 #1

看起来答案是肯定的。

用代替:IS=

with data (a,b) as (
values
(1,1),
(1,null),
(null,null)
)

select
  *
from
  data
where
  a is b

结果:

     a       b
------  ------
     1       1
(null)  (null)

db<>小提琴


相关:

我没有更新版本的 SQLite 来测试。但语法可能在较新的版本中不起作用。也许只有语法在较新版本的 SQLite 中有效。isIS NOT DISTINCT FROM