0
下面是一个使用CASE
我目前的更新语句。简化case语句
UPDATE A
SET OAP.GradeRange =
CASE WHEN (ABS(CAST(A.GRADE_FROM AS INT) - CAST(A.GRADE AS INT))) > 1 THEN 'Y'
ELSE 'N' END
FROM dbo.Table A
我如何下面添加一个额外的过滤器进入上述CASE
?
where (grade_from <> 13 and GRADE <> 15)
OR (grade_from <> 15 and GRADE <> 13)
我想是这样的:
UPDATE A
SET OAP.GradeRange =
CASE WHEN (ABS(CAST(A.GRADE_FROM AS INT) - CAST(A.GRADE AS INT))) AND (grade_from <> 13 and GRADE <> 15) OR (grade_from <> 15 and GRADE <> 13) > 1 THEN 'Y'
ELSE 'N' END
FROM dbo.Table A
如果有什么更好的方式来写,请指教。谢谢。
如果你希望它能够正常工作,你可能需要在你的或/和条件内部的括号内(在演员之后) – Bohemian