我一直试图在CASE语句中放入一个或运算符,但它不起作用。为什么在CASE语句中没有OR操作符?
Where W.Organization_ID =
CASE @IsAdmin OR @IsChiefEngineer
WHEN 1
THEN W.Organization_ID
ELSE @OrganizationID END
我要检查是否有IsAdmin或IsChief工程师,要么或者是1,那么其他组织@OrganizationID
我一直试图在CASE语句中放入一个或运算符,但它不起作用。为什么在CASE语句中没有OR操作符?
Where W.Organization_ID =
CASE @IsAdmin OR @IsChiefEngineer
WHEN 1
THEN W.Organization_ID
ELSE @OrganizationID END
我要检查是否有IsAdmin或IsChief工程师,要么或者是1,那么其他组织@OrganizationID
差不多,只是改变你的case语句有点:
CASE
WHEN @IsAdmin = 1 OR @IsChiefEngineer = 1
THEN W.Organization_ID
ELSE @OrganizationID
END
已经给出了这个答案。 –
答案之间有15秒的差距....我已经发布 – dbajtr
可以按如下方式写:
Where W.Organization_ID = CASE
WHEN @IsAdmin = 1 OR @IsChiefEngineer = 1
THEN W.Organization_ID
ELSE @OrganizationID END
Case _expression_,not statement。 – jarlh
您正在使用的语法不适用于多个变量。查看下面的解答以获得解决方法。 –