Índice
0. Introducción1. 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:
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.