Sql NULLIF()函数不使用';不能使用WHERE子句

Sql NULLIF()函数不使用';不能使用WHERE子句,sql,sql-server-2008,Sql,Sql Server 2008,以下查询的实际结果为空 select semid from programvariantterm where programvariantid = 240 但当我尝试以下语句时,它给出0行: declare @semid int set @semid = -1 select semid from programvariantterm where programvariantid = 240 and semid = nullif(@semid,-1) 我觉得你有点把NULLIF和ISNULL

以下查询的实际结果为空

select semid from programvariantterm where programvariantid = 240
但当我尝试以下语句时,它给出0行:

declare @semid int
set @semid = -1
select semid from programvariantterm 
where programvariantid = 240 and semid = nullif(@semid,-1)

我觉得你有点把
NULLIF
ISNULL
搞混了

您的语句将使用以下
ISNULL

where programvariantid = 240 and @semid = ISNULL(semid,-1)