CASE
Оценивает ли оператор SQL Server (в частности, 2008 или 2012) все WHEN
условия или он завершается, когда находит WHEN
предложение, которое оценивается как истинное? Если он проходит через весь набор условий, означает ли это, что последнее условие, оцениваемое как истинное, перезаписывает то, что выполнил первое условие, оцениваемое как истинное? Например:
SELECT
CASE
WHEN 1+1 = 2 THEN'YES'
WHEN 1+1 = 3 THEN 'NO'
WHEN 1+1 = 2 THEN 'NO'
END
Результат - «ДА», хотя последнее условие должно сделать его равным «НЕТ». Кажется, что он выходит, как только находит первое ИСТИННОЕ условие. Может кто-нибудь, пожалуйста, подтвердите, если это так .
COALESCE()
переводится вCASE
выражение.)