Buscar este blog

lunes, 19 de septiembre de 2011

Bug en SQL Server: CASE ejecuta funciones en cláusulas que no cumplen la condición

Hola a todos: En esta ocasión, vamos a ocupar esta nueva entrada en el blog para hablaros de un comportamiento inusual de SQL Server, que ejecuta ciertas funciones en cláusulas de sentencias CASE que no se evalúan a verdadero.

El operador CASE
CASE, tal y como nos lo decribe la MSDN "evalúa una lista de condiciones y devuelve una de las varias expresiones de resultado posibles".

Es decir, nos permite retornar un valor distinto en función de cada uno de los valores posibles que pueda tener el argumento o condición que estemos evaluando. Podemos decirle que nos devuelva un resultado diferente en función del valor de una variable o de expresiones lógicas.

jueves, 11 de agosto de 2011

ISNULL y MAX, ¡cuidado! El orden importa

Imaginemos que queremos obtener el valor máximo de una columna de una tabla que puede contener valores nulos y que, en caso de no existir ningún valor en ella o ser todos los existentes nulos, deseamos obtener un cero.

martes, 11 de enero de 2011

Aprendiendo a usar LEFT OUTER JOIN

En esta entrada pretendemos explicar los diferentes resultados obtenidos por distintas construcciones de consultas que, aparentemente, deberían producir el mismo conjunto de resultados.

Así, veremos las diferencias entre filtrar los resultados de una query en la unión (Join) mediante condiciones ON y mediante cláusulas WHERE.