SQL:IS NULL不起作用

use*_*512 0 t-sql sql-server sql-server-2012

我正在尝试测试变量是否为null但我似乎有语法错误,我的代码是:

DECLARE @count1 INT

SET @count1 = 
(SELECT HPlayedHome FROM League WHERE GameID = 
(SELECT TOP 1 GameID From Goals WHERE Date <= '20130923' AND Home = 'Palermo'
AND (GameID >=2551 AND GameId <= 5100) ORDER BY Date Desc))

SELECT CASE @count1 IS NULL THEN 0 ELSE @count1 END
Run Code Online (Sandbox Code Playgroud)

我希望查询返回@ count1的值,但如果它的NULL返回0. SQL SERVER 2012突出显示IS上的语法错误,'IS附近的语法不正确'.

Tho*_*mar 10

CASE WHEN 是正确的语法:

SELECT CASE WHEN @count1 IS NULL THEN 0 ELSE @count1 END
Run Code Online (Sandbox Code Playgroud)

你知道你可以缩短这一点

SELECT ISNULL(@count1, 0)
Run Code Online (Sandbox Code Playgroud)