我有一个sql服务器数据库,我正在查询,我只想获取特定行为空时的信息。我用了其中的语句,如:SQLServer获取结果的值为空
WHERE database.foobar = NULL
,它不返回任何东西。但是,我知道至少有一个结果,因为我在数据库中创建了一个'foobar'等于null的实例。如果我参加了在那里声明它显示的数据,所以我知道它不是查询其余
谁能帮我出
我有一个sql服务器数据库,我正在查询,我只想获取特定行为空时的信息。我用了其中的语句,如:SQLServer获取结果的值为空
WHERE database.foobar = NULL
,它不返回任何东西。但是,我知道至少有一个结果,因为我在数据库中创建了一个'foobar'等于null的实例。如果我参加了在那里声明它显示的数据,所以我知道它不是查询其余
谁能帮我出
正确的语法是WHERE database.foobar IS NULL。请参阅http://msdn.microsoft.com/en-us/library/ms188795.aspx以获取更多信息
它是SQL Server数据库吗? 如果是这样,请使用IS NULL
而不是进行比较(MSDN)。
阅读Testing for Null Values,你需要的是NULL不是= NULL
比较为NULL每次都会是假的。你想要使用IS NULL。
x = NULL -- always false
x <> NULL -- always false
x IS NULL -- these do what you want
x IS NOT NULL
-1与NULL比较将会是UNKNOWN,除了IS NULL和IS NOT NULL外。 – onedaywhen 2011-09-27 13:33:15