La sentencia CASE de sql server pasa por condiciones y devuelve un valor cuando se cumple la primera condición (como una sentencia IF-THEN-ELSE). Entonces, una vez que una condición es verdadera, dejará de leer y devolverá el resultado. Si no se cumple ninguna condición, devuelve el valor de la cláusula ELSE.
Si no hay una parte ELSE y ninguna condición es verdadera, devuelve NULL.
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN conditionN THEN resultN
ELSE result
END;
Ejemplos
select
SEXO = CASE WHEN Empleado.codsexo = 'F' THEN '2' ELSE '1' END
from Empleado
-----
select
[ESTADO CIVIL]= CASE WHEN EM.codEstadoCivil = 'S' THEN '1'
WHEN EM.codEstadoCivil = 'C' THEN '2'
WHEN EM.codEstadoCivil = 'D' THEN '3'
WHEN EM.codEstadoCivil = 'M' THEN '4'
WHEN EM.codEstadoCivil = 'V' THEN '5'
END
from Empleado EM