MySql - varchar como numérico

6 respostas
J

Olá pessoal, tenho um campo em uma tabela … que é varchar … mas essse campo armazena numeros … eu preciso de um comando select que me traga os registros em ordem numérica (desse campo varchar)

or problema é que se eu uso o order by comum … o que acontece é que os registros vem … ordenando o campo como se fosse um texto (é claro pois ele é varchar) mas eu queria que mesmo sendo um campo varchar … os registros fosse ordenados como se esse campo fosse int …

alguem sabe como ficaria esse select ??? VALEW

6 Respostas

T

É meio nojento, mas você poderia efetuar uma conversão na própria query.
O correto seria, obviamente, solicitar ao asno que criou o banco de dados para passar o campo de varchar para numérico.

leohunther

Grande não tenho certeza se via dar certo testa em outro antes de testar nesse.
Mas você pode fazer um ALTER na tabela, pra mudar o tipo de dado.
Se tiver acesso ao banco.

J

como é que faz a conversão no próprio query ?

T

http://dev.mysql.com/doc/refman/5.1/en/cast-functions.html#function_cast

J

ixi … akele tutorial eu já tinha visto mas nun entendi XD

tentei isso

SELECT cast (nm_teste as integer) FROM barras.teste ;
e isso

SELECT cast (nm_teste as int) FROM barras.teste ;

mas dá erro de sintaxe

T

Você leu direito o que lhe passei? Lá não tem nenhum “INT” , e sim “SIGNED”. Leia direito e com atenção.

Criado 5 de junho de 2008
Ultima resposta 6 de jun. de 2008
Respostas 6
Participantes 3