martes, 18 de febrero de 2014

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.


No hay comentarios:

Publicar un comentario