Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Evandro Sousa

[Resolvido] problemas em fazer Select com datas

Recommended Posts

Bom dia pessoal, tudo bem?

Eu sei que é ridiculo essa minha duvida, mas acontece o seguinte, eu tenho um campo em minha base de dados chamada dtEntrada, e tenho 4 registros na tabela, e tenho as seguintes datas cadastradas: 12/11/2009, 01/01/2010, 18/11/2009, 18/11/2009. Estou executando um SELECT para me retornar somente as datas menores ou igual a hoje, mas por algum motivo o banco ta trazendo a data 01/01/2010.

Quando dou o SELECT com BETWEEN, ele não retorna nada.

Veja meu SELECT:

SELECT dbo.fn_dateformat(IP.dtEntrada,1), dbo.fn_dateformat(getdate(),1)
FROM ITENSPEDIDO IP
WHERE dbo.fn_dateformat(IP.dtEntrada,1) <= dbo.fn_dateformat(getdate(),1)

Usando eu peço que retorne todas as datas que estiverem a 1 ano atras e um ano a frente, BETWEEN:

SELECT dbo.fn_dateformat(IP.dtEntrada,1), dbo.fn_dateformat(getdate(),1)
FROM ITENSPEDIDO IP
WHERE dbo.fn_dateformat(IP.dtEntrada,1) 
					BETWEEN dbo.fn_dateformat(getdate()-360,1) AND dbo.fn_dateformat(getdate()+360,1)

dbo.fn_dateformat - é uma função que tranforma a data, nesse caso tranformo para DD/MM/YYYY.

 

Tem idéia do que pode ser?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acabei de descobrir que se eu fizer NOT BETWEEN ele funciona, mas nao deveria, afinal as datas estão dentro de -360 e +360 dias.

Compartilhar este post


Link para o post
Compartilhar em outros sites

me desculpem abrir esse tópico, já achei o erro.

 

nao posso fazer WHERE FUNCAO(dtEmissao), mas sim WHERE dtEmissao.

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.