3

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

WHERE database.foobar = NULL

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

谁能帮我吗?

4

4 回答 4

6

正确的语法是 WHERE database.foobar IS NULL。有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/ms188795.aspx

于 2008-08-26T19:33:04.277 回答
3

每次与 NULL 的比较都是错误的。您想改用 IS NULL 。

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

x IS NULL      -- these do what you want
x IS NOT NULL
于 2008-08-26T19:51:41.907 回答
2

阅读空值测试,您需要 IS NULL not = NULL

于 2008-08-26T19:35:35.143 回答
1

它是 SQL Server 数据库吗?如果是这样,请使用IS NULL而不是进行比较 ( MSDN )。

于 2008-08-26T19:35:31.727 回答