La Función CASE
La función CASE en SQL Server nos permite evaluar el valor que contiene un campo o variable y en base a este valor condicionar un resultado.
Por ejemplo supongamos que tenemos el campo Estado Civil pero hemos decidido guardar la información de forma numérica asignando “1” para Casado y “2” para Soltero.
Aunque esta información se guarde de esta manera al momento de ejecutar una consulta o solicitar un reporte no nos sirve que el campo se muestre con números 1 y 2, en este caso queremos que estos números sean sustituidos por casado y soltero.
Para esto sirve la función CASE, veamos el ejemplo:
Select Nombre, Apellido,
CASE EstadoCivil
WHEN 1 THEN ‘Casado’
WHEN 2 THEN ‘Soltero’
ELSE ‘No Definido’ END AS EstadoCivilNew
from Persona
También se puede escribir de la siguiente forma, solo cambia el alias del campo creado con la función CASE colocándolo al inicio en vez de al final que en vez de ponerlo al final:
Select Nombre, Apellido,
EstadoCivilNew= CASE EstadoCivil
WHEN 1 THEN ‘Casado’
WHEN 2 THEN ‘Soltero’
ELSE ‘No Definido’ END
from Persona
Mi ejemplo solo se muestra condiciones para dos valores pero es posible agregar más, ahora si existiera un valor que no está definido, es decir para mi ejemplo si tuviéramos el valor “3” que no está definido entonces ejecutaría el mensaje puesto en la
condición ELSE.
condición ELSE.