Select com filtro de datas não funciona
Esse select não funciona. Porque?
select convert(varchar(10),data,103)data from opera
where convert(varchar(10),data,103) >= '01/11/2010'
Eu dei um convert, porque a data aprece nesse formato:
yyyy-mm-dd
Pjava
Curtidas 0
Respostas
Tiago Melantonio
05/08/2011
Cara esse filtro não funciona porque vc está convertendo a data para varchar, faz a comparação sem esse convert.
Abs
Abs
GOSTEI 0
Tiago Melantonio
05/08/2011
Da para usar o convert na condição, mas vc não consegue comparar se uma string é maior com a outra. Então vc só pode usar o igual "="
abs
abs
GOSTEI 0
Pjava
05/08/2011
Então, mas se eu faço assim funciona:
select convert(varchar(10),data,103) from opera where data >= '01/11/2010'
Mas assim não funciona
select convert(varchar(10),data,103) from opera where data >= '01/11/2010' and data <= '28/02/2011'
Dá esse erro aí abaixo
Msg 242, Level 16, State 3, Line 4
The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.
GOSTEI 0
Pjava
05/08/2011
Fiz assim, mas ele está trazendo datas até 01/03/2011 e não até 28/02/2011
select contrato,convert(varchar(10),data,103) from opera
where data >= CONVERT(SMALLDATETIME,'2010-11-01 00:00:00.000') and data <= CONVERT(SMALLDATETIME,'2011-02-28 23:59:59.999')
order by data
GOSTEI 0
Emerson Nascimento
05/08/2011
select convert(varchar(10),data,103) from opera where data >= '11/01/2010' and data <= '02/28/2011'
GOSTEI 0
Pjava
05/08/2011
Só para finalizar esse tópico, o Order By não funciona. Porque? Em nenhuma dessas opções acima, nenhuma mesmo.
GOSTEI 0
Wilson Junior
05/08/2011
Coloque
Espero ter colaborado.
ORDER BY 2 { 2° coluna }
Espero ter colaborado.
GOSTEI 0