Ir para conteúdo

POWERED BY:

Arquivado

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

Vinicius Sanches

[Resolvido] Manter apenas numeros em um select

Recommended Posts

Olá pessoal,

Gostaria de saber se existe alguma forma mais simples de retirar todos os caracteres de um campo varchar, e manter apenas numeros.

Estou com esse problema pois eu recebo de um arquivo dados como string, e o campo RG é do tipo bigint, mas eu nao consigo converter direto, porque alguns campos vem com letras...

 

Nao queria fazer um replace com toda a tabela asci, e manter so os numeros.

Será que alguem sabe uma forma mais facil?

 

Vlw Pessoal!

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiquei curioso e soh encontrei o seguinte:

 

mysql> SELECT TRIM(BOTH 'x' FROM 'xxxbarxxx');
+---------------------------------------------------------+
| TRIM(BOTH 'x' FROM 'xxxbarxxx')                         |
+---------------------------------------------------------+
| bar                                                     |
+---------------------------------------------------------+
1 row in set (0.00 sec)

Aqui:

Clique aqui

 

Talvez seja mais facil nao fazer esse tratamento pelo SQL...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Vinicius Sanches,

Esse tipo de coisa deve ser feita na hora que se recebe os dados pela linguagem que é usada

e não no BD

 

Fazer esse tipo de conversão vai prejudicar bastante sua performance

mas para fazer isso você teria que usar um UPDATE + REPLACE

 

e ficaria similar a isso:

UPDATE tabela SET rg = replace(rg, 'a', '');

não sei se vai funcionar pois nunca tentei

mas deve seguir mais ou menos essa linha

 

Mas retorno a dizer...

NÃO VALE A PENA FAZER ISSO NO MySQL!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente validar os dados antes de inserir no banco. E para corrigir os antigos você pode criar uma procedure utilizando o replace como o thelon disse.

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.