SQLServer获取值为空的结果

3

我有一个SQL服务器数据库,我正在查询它,但我只想在特定行为空时获取信息。我使用了where语句,例如:

WHERE database.foobar = NULL

这个查询似乎没有返回任何结果。但是,我知道至少有一个结果,因为我在数据库中创建了一个实例,其中'foobar'等于null。如果我去掉where语句,它会显示数据,所以我知道不是查询的其余部分出了问题。

有人能帮我解决吗?

4个回答

6

3

每次与NULL进行比较都会得到false。你需要使用IS NULL。

x =  NULL      -- always false
x <> NULL      -- always false

x IS NULL      -- these do what you want
x IS NOT NULL

与 NULL 进行比较将会产生未知结果,除非使用 IS NULLIS NOT NULL 异常情况。 - onedaywhen

2

1

这是一个 SQL Server 数据库吗? 如果是的话,使用 IS NULL 而不是做比较(MSDN)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接