Select com filtro de datas não funciona

SQL Server

05/08/2011

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

Pjava

Curtidas 0

Respostas

Tiago Melantonio

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
GOSTEI 0
Tiago Melantonio

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
GOSTEI 0
Pjava

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

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

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

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

Wilson Junior

05/08/2011

Coloque
ORDER BY 2 { 2° coluna }


Espero ter colaborado.
GOSTEI 0
POSTAR