Ir para conteúdo

POWERED BY:

Arquivado

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

FabianoSouza

Consulta com DATECONVERT

Recommended Posts

Preciso fazer uma consulta e como parâmentro uso uma data.

 

 

 

Por que esta consulta não retorna registro??

 

SELECT ReservaSalaDataInicial from RESERVA_SALA WHERE ReservaSalaDataInicial = DATEPART(DAY,'17/08/2012')

 

Existe no bd um registro com o campo ReservaSalaDataInicial igual a 17/08/2012 (mas que fica armazenado como 2012-08-17 09:30:30.000)

 

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Creio que o problema seja comparar uma data que tem uma hora com uma que é apenas data.

 

A solução é trazer a data do BD para apenas hora (truncar a data).

 

Não conheço as FUNCTION do Sql Server que fazem isto mas uma consulta ao manual deve resolver.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Fabiano,

 

O problema ocorre porque para o Sql Server a string '16/08/2012' não é considerado um formato de data válido para realizar esse tipo de consulta, portanto é necessário converter o conteúdo para o tipo data e o campo da consulta para o mesmo formato, conforme exemplo abaixo:

 

SELECT RESERVA_INI FROM RESERVA WHERE DATEPART(DAY,RESERVA_INI) = DATEPART(DAY,(CONVERT(DATETIME,'16/08/2012',103)))

 

Ou você pode colocar a data da consulta no formato que o sql entenda, conforme abaixo:

 

SELECT RESERVA_INI FROM RESERVA WHERE DATEPART(DAY,RESERVA_INI) = DATEPART(DAY,'2012-08-16')

 

A consulta irá trazer todos os resultados com o dia igual a 16, independente do mês e ano.

 

Espero ter ajudado, abs!!

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.