Pur*_*ish 1 sql stored-procedures case where-clause
我有一个SQL问题,我还没有找到解决方案,我试图做的是一个过程的where子句,其中userID变量可以包含有效的userID或-1来指示所有用户.
但是我坚持在where子句的这一部分:
AND usertable.userid = CASE WHEN @user = -1
THEN
ELSE
@user
END
Run Code Online (Sandbox Code Playgroud)
我不知道如何处理-1来说出选择所有用户
谢谢
也许以下方法可行:
SELECT whatever
FROM wherever
WHERE something = somethingelse AND
usertable.userid = CASE @user
WHEN -1 THEN usertable.userid
ELSE @user
END
Run Code Online (Sandbox Code Playgroud)
分享和享受.
您可以更改这样的子句以返回所有用户...
AND ( @user = -1
OR usertable.userid = @user
)
Run Code Online (Sandbox Code Playgroud)
这种方式不需要案例陈述......