SQL Server:where子句中的条件情况

时间:2013-06-18 10:55:19

标签: sql-server case where-clause

我想在我的CASE子句中将以下内容写成WHERE语句,但我不确定如何编写它。

if @Result = '' then 
    [Result] = @Result
else
    [Result] like @Result + '%'
endif

2 个答案:

答案 0 :(得分:4)

这样的事情会起作用。

Declare @Result varchar(100)

Set @Result  =''

Select * 
From    dbo.TABLE
Where [Result] Like Case 
            When @Result = '' Then @Result
            Else @result + '%'
            End

答案 1 :(得分:0)

试试这个。这与您的if else声明

完全相同
WHERE [Result] LIKE (CASE @Result WHEN '' THEN @Result ELSE @Result + '%' END)