19 oct. 2012

Case (Transact SQL)

Tutorial SQL: Sentencia CASE en Transact SQL

La sentencia Case de Transact SQL evalúa una serie de condiciones y devuelve uno de los resultados posibles definidos por el usuario.

La sentencia Case de Transact SQL la podemos utilizar en cualquier instrucción o cláusula, es decir:
  1. Instrucciones SQL donde se permite el uso del Case: SELECT, UPDATE, DELETE y SET
  2. Cláusulas SQL donde se permite el uso del Case: IN, WHERE, ORDER BY, HAVING

Sintaxis de la sentencia Case en Transact SQL

Simple CASE expression: 
CASE input_expression 
     WHEN when_expression THEN result_expression [ ...n ] 
     [ ELSE else_result_expression ] 
END 
Searched CASE expression:
CASE
     WHEN Boolean_expression THEN result_expression [ ...n ] 
     [ ELSE else_result_expression ] 
END

Argumentos de la sentencia Case en Transact SQL

input_expression: Es la expresión evaluada.

when_expression: Es la expresión que se compara con input_expression

result_expression: Expresión que devolvemos si when_expression es igual a TRUE.

else_result_expression: Expresión que devolvemos si ninguna comparación realizada devuelve TRUE

Boolean_expression: Expresión booleana que se evalúa cuando utilizamos el formato de búsqueda del Case.

Ejemplo de la sentencia Case en Transact SQL

SELECT   Nombre, cod_barras, "Opinión precio" = 
      CASE 
         WHEN precio >=  500 THEN 'Carísimo'
         WHEN precio >= 250 THEN 'Muy Caro'
         WHEN precio >= 100 THEN 'Caro'
         WHEN precio >= 50 THEN 'Para pensárselo'
         ELSE 'Asequible'
      END
FROM articulos
ORDER BY Nombre
En el ejemplo anterior obtenemos todos los artículos y una descripción llamada 'opinión precio' que depende del precio de cada artículo. 

Como podéis observar utilizamos la sentencia Case de Transact SQL para determinar los intervalos de precios de los artículos y asignarles un valor tipo string que mostraremos en el resultado de la consulta.


Si te ha gustado el artículo sobre cómo corregir error "Apache shutdown unexpectedly" al iniciar Xampp te pido un favor: Haz clic sobre uno de los anuncios, con esto me ayudarás a mantener el Blog y pueda escribir más artículos.

ARTÍCULOS QUE TE PUEDEN INTERESAR

Cómo guardar la configuración de una red wifi en Windows 7
Cómo abrir puertos windows 7
Atajos de teclado de Windows
Windows 7 no muestra la fecha