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