Duda en query

27/07/2006 - 22:46 por Sans | Informe spam
Les comento que tengo una consulta sobre una tabla de poco mas de 7
millones de registros la cual me devuelve diferentes resultados con las
mismas condiciones, ejemplo..

select *
from tabla
where F_Doc between '20060101 00:00' and '20060115 23:59'
and F_Recibio is null

me trae registros cuyo campo F_Recibio no es nulo, pero si cambio la
consulta a

select *
from tabla
where F_Doc between '20060101 00:00' and '20060115 23:59'
and isnull(F_Recibio,'') = ''

me trae los registros correctos(solo los que son nulos en el campo
F_Recibio), tambien obtengo el resultado correcto si forzo el indice

select *
from tabla with(index(XXX))
where F_Doc between '20060101 00:00' and '20060115 23:59'
and F_Recibio is null

Hay alguna razon para lo anterior???, agradezco de antemano sus
comentarios

La tabla se reindexa cada semana...
Uso sql 2000 sp3
 

Leer las respuestas

#1 Victor Koch
27/07/2006 - 22:55 | Informe spam
Hola Sans

Para mi hay registros que en el campo F_Recibio tenes grabado ''. Proba con
esta sentencia

select *
from tabla
where F_Doc between '20060101 00:00' and '20060115 23:59'
and (F_Recibio is null or F_Recibio = '')

Un saludo, Víctor Koch.


"Sans" escribió en el mensaje
news:
Les comento que tengo una consulta sobre una tabla de poco mas de 7
millones de registros la cual me devuelve diferentes resultados con las
mismas condiciones, ejemplo..

select *
from tabla
where F_Doc between '20060101 00:00' and '20060115 23:59'
and F_Recibio is null

me trae registros cuyo campo F_Recibio no es nulo, pero si cambio la
consulta a

select *
from tabla
where F_Doc between '20060101 00:00' and '20060115 23:59'
and isnull(F_Recibio,'') = ''

me trae los registros correctos(solo los que son nulos en el campo
F_Recibio), tambien obtengo el resultado correcto si forzo el indice

select *
from tabla with(index(XXX))
where F_Doc between '20060101 00:00' and '20060115 23:59'
and F_Recibio is null

Hay alguna razon para lo anterior???, agradezco de antemano sus
comentarios

La tabla se reindexa cada semana...
Uso sql 2000 sp3

Preguntas similares