Ir para o conteúdo
Leudassdf

Comparar Apenas a data de um campo datetime

Mensagens Recomendadas

Leudassdf

Boas pessoal,

Eu tenho um campo,data_hora, que é do tipo datetime. O que acontece é que eu queria filtrar a pesquisa de forma a por exemplo obter todas as datas superiores a 05-02-1994 e até 05-05-1994.

E fiz assim: WHERE data_hora between 05-02-1994 and 05-05-1994

No entanto nao me aparece nada. ja esperimentei converter a data mas mesmo assim nao funcionou.

Alguem sabe como resolver?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Leudassdf

Experimenta assim (para SQL Server 2008 ou superiores):


WHERE CAST(data_hora AS DATE) BETWEEN '1994-02-05' AND '1994-05-05';

Assim funcionou. o unico senão é o facto de ter que colocar no formato yyyy-mm-dd. Deveria dar para colocar no formato que usamos...

Cumprimentos

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
AntonioMateus

No SQL uso sempre as datas no formato yyyy-mm-dd, porque este é formato nativo do SQL, sei que funciona sempre.

Também se consegue com outros formatos, só que às vezes é preciso andar com CASTs e CONVERTs, para quê complicar?

Para o utilizador tudo bem, apresenta-se a data na cultura, mas no SQL não vale apena complicar, sempre que possível YYYY-MM-DD...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.