我有一个正在查询的 SQL 服务器数据库,我只想在特定行为空时获取信息。我使用了 where 语句,例如:
WHERE database.foobar = NULL
它不返回任何东西。但是,我知道至少有一个结果,因为我在数据库中创建了一个 'foobar' 等于 null 的实例。如果我取出 where 语句,它会显示数据,所以我知道它不是查询的其余部分。
谁能帮我吗?
我有一个正在查询的 SQL 服务器数据库,我只想在特定行为空时获取信息。我使用了 where 语句,例如:
WHERE database.foobar = NULL
它不返回任何东西。但是,我知道至少有一个结果,因为我在数据库中创建了一个 'foobar' 等于 null 的实例。如果我取出 where 语句,它会显示数据,所以我知道它不是查询的其余部分。
谁能帮我吗?
正确的语法是 WHERE database.foobar IS NULL。有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/ms188795.aspx
每次与 NULL 的比较都是错误的。您想改用 IS NULL 。
x = NULL -- always false
x <> NULL -- always false
x IS NULL -- these do what you want
x IS NOT NULL
阅读空值测试,您需要 IS NULL not = NULL
它是 SQL Server 数据库吗?如果是这样,请使用IS NULL
而不是进行比较 ( MSDN )。