[firebase-br] Erro com Between

omar l m rosa omar em conesul.inf.br
Ter Jul 3 00:53:45 -03 2007


Me parece que está certo, pois substituindo os valores, temos

where (A.Codigo = 100)
                      100  = 100                   -----------------------  
verdadeiro
   and (coalesce(Data_Final,current_date) >= Data_Inicial
                            09/02/2007                  >= 
20/07/2007 -------------  verdadeiro
   and coalesce(Data_Final,current_date) <=Data_Final)
                           09/02/2007                  <= 
/02/2007   ----------------  verdadeiro


where (A.Codigo = 100)
                      100  = 100                   -----------------------  
verdadeiro
   and (coalesce(Data_Final,current_date) >= Data_Inicial
                            09/02/2007                  >= 
06/02/2007 -------------  falso
   and coalesce(Data_Final,current_date) <=Data_Final)
                           03/07/2007                  <= 
ll   ----------------  impossivel


where (A.Codigo = 100)
                      100  = 100                   -----------------------  
verdadeiro
   and (coalesce(Data_Final,current_date) >= Data_Inicial
                            09/02/2007                  >= 
08/03/2007 -------------  falso
   and coalesce(Data_Final,current_date) <=Data_Final)
                            03/07/2007                 <= 
ull  ----------------  impossivel

Onde está o erro?


----- Original Message ----- 
From: "Danilo Rogério" <danilorsa_betta em yahoo.com.br>
To: "Lista Firebase" <Lista em firebase.com.br>
Sent: Monday, July 02, 2007 10:48 AM
Subject: [firebase-br] Erro com Between


Pessoal, segue as seguintes informações

Codigo    Data_Inicial    Data_Final
------------------------------------
100        20/07/2006      09/02/2007
100        06/02/2007      null
100       08/03/2007      null

Vejam o select a baixo.
select A.*
from Tabela A
 where (A.Codigo = 100)
   and (coalesce(Data_Final,current_date) >= Data_Inicial
   and coalesce(Data_Final,current_date) <=Data_Final)

o que ocorre com o resultado:
Ele me retorna a 1º linha, ou seja: dá a informação que hoje: 02/07/2007 
está entre 20/07/2006 e 09/02/2007 ao inves de retornar as outras duas 
linhas.

A versão do Banco: FB 2.0.0.12710





____________________________________________________________________________________
Novo Yahoo! Cadê? - Experimente uma nova busca.
http://yahoo.com.br/oqueeuganhocomisso
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista