domingo, 5 de julio de 2015

Receta T-SQL No. 2.5: Escritura de una Expresión CASE de Búsqueda

Índice

0. Introducción
1. Problema
2. Solución
3. Discusión de la Solución
4. Práctica: Código T-SQL
5. Conclusiones
6. Glosario
7. Literatura & Enlaces

0. Introducción

En la receta T-SQL anterior comprendimos cómo usar la versión de CASE simple, ahora, veremos cómo usar la versión alternativa de CASE que admite como operador de búsqueda una expressión booleana simple o compuesta.

1. Problema

Se requiere evaluar un grupo de expresiones booleanas y dependiendo su valor de verdad, falso o verdadero, establecer un valor de retorno.

2. Solución

La solución a este requerimiento es recurrir a la construcción de T-SQL CASE [2]. Esta construcción evalua una lista de condiciones y puede retornar una de múltiples expresiones especificadas en su cuerpo de declaración. (Vale anotar que esta expresión es análoga a la construcción de control de flujo switch del lenguaje de programación C#.)

Los formatos posibles de CASE son:
  • La versión simple consiste en especificar un valor del conjunto de valores posibles de la variable o columna.
  • La versión alternativa consiste en formar una expresión booleana o de búsqueda.

3. Discusión de la Solución

La sintaxis de declaración para el uso de CASE en este modo de uso es la siguiente:

CASE
    WHEN expresion_booleana_1 THEN expresion_resultado
    WHEN expresion_booleana_2 THEN expresion_resultado
    WHEN expresion_booleana_3 THEN expresion_resultado
    WHEN expresion_booleana_n THEN expresion_resultado
   [ELSE expresion_resultado_alternativo]
END

La expresión booleana, recordemos, puede incluir cualquier de los operadores de comparación disponibles [3].

4. Práctica: Código T-SQL

En el siguiente ejemplo crearemos una consulta T-SQL que retorna aquellos productos que tengan como punto de reorden los siguientes rangos de valores:
  • 100-300, 
  • 301-500, y 
  • 501-700.

Una vez ejecutemos esta consulta T-SQL obtendremos el siguiente resultado:
Escritura de una Expresión CASE de Búsqueda - Resultado ejemplo 1
Figura 1. Escritura de una Expresión CASE de Búsqueda - Resultado ejemplo 1.

5. Conclusiones

Una expresión CASE de búsqueda, como hemos aprendido, nos permite escribir consultas T-SQL para la búsqueda de registros que cumplan con determinadas condiciones expresadas como casos de evaluación.

6. Glosario

  • Búsqueda
  • CASE
  • Consulta
  • T-SQL

7. Literatura & Enlaces

[1]: SQL Server 2012 T-SQL Recipes - A Problem-Solucion Approach by Jason Brimhall, David Dye, Jonathan Gennick, Andy Roberts, and Wayne Sheffield. Copyright 2012 Jason Brimhall, David Dye, Jonathan Gennick, Andy Roberts, and Wayne Sheffield, 978-1-4302-4200-0.
[2]: CASE (Transact-SQL) - https://msdn.microsoft.com/en-us/library/ms181765.aspx?f=255&MSPPError=-2147217396
[3]: Comparison Operators (Transact-SQL) - https://msdn.microsoft.com/en-us/library/ms188074.aspx


J

No hay comentarios:

Publicar un comentario

Envíe sus comentarios, dudas, sugerencias, críticas. Gracias.