Consulta sobre Isnull en consultas

08/05/2007 - 19:00 por jcac | Informe spam
Hola lista,

Tengo varios procedimientos almacenados que en la parte del where tiene por
ejemplo almacen = isnull(@almacen, almacen)

como es que deberia de cambiarlo, ya que no recuerdo muy bien quien dijo que
no era adecuado y al hacerlo de esta manera no se haria uso de los indices.

Saludos
 

Leer las respuestas

#1 Alejandro Mesa
08/05/2007 - 19:20 | Informe spam
Trata:

Suponiendo que [almacen] es tipo INT y que no toma valores negativos.

...
where
almacen between coalesce(@almacen, 0) and coalesce(@almacen, convert(int,
0x7FFFFFFF))


Dynamic Search Conditions in T-SQL
http://www.sommarskog.se/dyn-search.html

Las virtudes y maldades del SQL dinámico
http://www.hayes.ch/sql/sql_dinamico.html


AMB

"jcac" wrote:

Hola lista,

Tengo varios procedimientos almacenados que en la parte del where tiene por
ejemplo almacen = isnull(@almacen, almacen)

como es que deberia de cambiarlo, ya que no recuerdo muy bien quien dijo que
no era adecuado y al hacerlo de esta manera no se haria uso de los indices.

Saludos



Preguntas similares