我正在尝试编写一些更复杂的SQL Server CASE语句:
...
and (@StatusID is null or
(case
when @StatusID = 0 and sr.Comment is not null
else @StatusID == sr.StatusID
end)
= 1)
and ...
Run Code Online (Sandbox Code Playgroud)
但双等号出现错误。我也试过了
else @StatusID = sr.StatusID then 1
Run Code Online (Sandbox Code Playgroud)
和
else @StatusID is sr.StatusID
Run Code Online (Sandbox Code Playgroud)
在SQL Server上找不到关于我要执行的操作的任何信息。
您可能正在寻找
and (@StatusID is null or 1 =
(CASE
WHEN @StatusID = 0 AND sr.Comment IS NOT NULL THEN 1
WHEN @StatusID = sr.StatusID THEN 1
end)
)
Run Code Online (Sandbox Code Playgroud)