viernes, 6 de marzo de 2015

IF en Sentcias SQL

Cascaron DataLayerIng

Hoy en día en el camino de extracción de información de una base de datos me he encontrado que se suelen usar valores que reprecentan algun valor que para el usuario final no le son entendibles o ahy que explicar mira si es cero es que es ... y bla bla bla... Para esos casos no es útil poder poner un IF dentro de una instruccion SQL y de esa forma no extraer lo satos en bruto desde la base de datos... Para el caso de SQL Server se usa la sentencia


SELECT
  CASE 
  WHEN [Comparacion logica] THEN [Valor a Desplegar]
  WHEN [Comparacion logica] THEN [Valor a Desplegar]
     .
     .
     .
  WHEN [Comparacion logica] THEN [Valor a Desplegar]    
    ELSE [VAlor por defecto] 
 END 
FROM
 [Tabla]
Un ejemplo de como funciona:

SELECT
  a.ID
  ,CASE
      WHEN a.MyChar = 'A' THEN 'Success'
      WHEN a.MyChar = 'B' THEN 'Close'
      WHEN a.MyChar = 'C' THEN 'Far'
      ELSE 'Fail'
  END
FROM MyTable a


No hay comentarios:

Publicar un comentario