Ver Mensaje Individual
  #4  
Antiguo 26-06-2012
Avatar de mightydragonlor
[mightydragonlor] mightydragonlor is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Medellín-Colombia
Posts: 587
Reputación: 18
mightydragonlor Va por buen camino
Cita:
Empezado por Chris Ver Mensaje
COALENCE no es para mejorar el desempeño de la consulta. COALENCE es un operador seguro para evaluar Nulos. Lee: http://www.firebirdsql.org/refdocs/l...-coalesce.html

Entonces, COALENCE podría decirse que funciona así:
COALANCE(Value, Value2, Value3) equivaldrá a:
Código SQL [-]
IF (Value is not NULL) then result := Value
elseif (Value2 is not NULL) then result := Value2
elseif (Value3 is not NULL) then result := value3
...

COALENCE devolverá el primer parámetro que no sea NULL. Recuerda que, a excepción de "IS", no puedes utilizar los operadores para hacer comparaciones con NULL. Ya que el valor de NULL no está definido según el estándar SQL.

Saludos.
Gracias por tu comentario Chris, conozco perfectamente como funciona Coalesce, pero hay un problema, en consultas con muchos parámetros, las cuales deben hacerse en tablas con una gran cantidad de datos empieza a generar Tables Scan, hace algún tiempo leí que puedes crear un índice a una tabla que puede hacer que cuando uses el Coalesce no haga el Table Scan y use ese índice optimizado para el Coalesce.
Muchas gracias, Saludos.
__________________
mas confundido que Garavito el día del Niño.
Responder Con Cita