SQLServer获取值为空的结果

时间:2008-08-26 19:32:21

标签: sql sql-server oracle

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

WHERE database.foobar = NULL

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

任何人都可以帮助我吗?

4 个答案:

答案 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)。