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