Comparação de Datas

05/05/2010

0

Tenho a seguinte tabela: tb_aponta_quali_acaba, e esta contém registros desde abril de 2010. Inseri, manualmente, um registro na tabela com a data de 2009-5-5. Estou tentando trazer todos os registros entre Janeiro de 2010 e Janeiro de 2009, ou seja, 1 registro, e estou tentando fazer da seguinte maneira:  
select * from tb_aponta_quali_acaba WHERE dt_hora between '2010-1-1 00:00:00' and '2000-1-1 00:00:00'
  Mas não obtenho nenhum retorno. Alguém pode me dizer o que estou fazendo errado?   Muito obrigado,   Lucas Hoffmann
Lucas Hoffmann

Lucas Hoffmann

Responder

Posts

05/05/2010

Lucas Hoffmann

Desculpe postar novamente, mas só para explicar, na SQL a data está entre 2010 e 2000, mas o objetivo é trazer apenas entre 2010 e 2009.
Responder

05/05/2010

Wilson Junior

Tente colocar sem a hora
select * from tb_aponta_quali_acaba WHERE dt_hora between '2010-1-1' and '2000-1-1'


Espero ter colaborado.
Responder

05/05/2010

Lucas Hoffmann

Mesmo assim continua retornando 0 ocorrências. =/ Banco de Dados do demônio
Responder

05/05/2010

Wilson Junior

Veja se assim retorna algo
select * from tb_aponta_quali_acaba WHERE dt_hora > '2000-1-1'


Espero ter colaborado.
Responder

05/05/2010

Lucas Hoffmann

Ok, mas isso também traz os registros de todo o ano de 2010, eu teria que trazer os registros que foram cadastrados entre janeiro de 2010 e 2009. Na minha opinião, aquela primeira SQL deveria funcionar, mas não retorna nada.
Responder

05/05/2010

Wilson Junior

Ta vi onde está o erro. Você deve colocar a data inicial primeiro e depois a data final

select * from tb_aponta_quali_acaba WHERE dt_hora '2009-1-1' and '2010-1-1'


Espero ter colaborado.
Responder

03/07/2010

Km Sistemas

Tenta desta forma   select * from tb_aponta_quali_acaba WHERE dt_hora  >= :DataInicio      and dt_hora  <= :DataFinal   se nao der tenta trata o formato da data   no postgres seria assim veja a sintax do banco que esta usando   select * from tb_aponta_quali_acaba WHERE cast(dt_hora as date)  >= cast(:DataInicio as date)       and cast(dt_hora as date) <= cast(:DataFinal as date)   As vezes comparativo de data o paramento vem com formato diferente então e preciso usar o conversor de tipos
Responder

03/07/2010

Km Sistemas

esta forma com o between vc esta colocando as datas invertidas vc deve colocar primeiro a data memor e depois a data maior inverso do que vc colocou

select * from tb_aponta_quali_acaba WHERE dt_hora between '2010-1-1 00:00:00' and '2000-1-1 00:00:00'
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar