Select com filtro de datas não funciona

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

Respostas

05/08/2011

Melantonio Currículo

Cara esse filtro não funciona porque vc está convertendo a data para varchar, faz a comparação sem esse convert.

Abs
Responder Citar

05/08/2011

Melantonio Currículo

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
Responder Citar

08/08/2011

Pjava

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.
Responder Citar

08/08/2011

Pjava

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
Responder Citar

08/08/2011

Emerson

select convert(varchar(10),data,103) from opera where data >= '11/01/2010' and data <= '02/28/2011'
Responder Citar

08/08/2011

Pjava

Só para finalizar esse tópico, o Order By não funciona. Porque? Em nenhuma dessas opções acima, nenhuma mesmo.
Responder Citar

08/08/2011

Wilson Paulista...!!!

Coloque
ORDER BY 2 { 2° coluna }


Espero ter colaborado.
Responder Citar