[RESOLVIDO]Formatação de CEP (MaskFormatter)MySql

Ola Boa noite!!!

Tenho uma tabela de cep(peguei na internet) no meu BD MySql, so que os dados dos ceps nao estão no formato padrão “#####-###” esses dados estao inserido assim “########”
mas na minha aplicação quero colocar para cadastro de cep no formato padrao para facilitar a inserção pelo usuario…

agora vem a duvida

Tem como alterar todas as faixas de ceps do meu bd inserindo um traço " - " via sql de uma vez só? se tiver como faço isso?

ou tem como pegar o texto da jFormattedTextField e com uma funçao retirar esse “-” traço para poder inserir no bd?

pois assim facilitaria na busca posteriormente

// Ex: de consulta fica muito estranho SELECT c.cep, c.logradouro, c.bairro, c.cidade, c.estado FROM cep c WHERE c.cep = '74969-030' OR c.cep = '74969030';

ficaria melhor para consulta assim:

SELECT c.cep, c.logradouro, c.bairro, c.cidade, c.estado FROM cep c
  WHERE c.cep = '74969-030';

Ou assim:

SELECT c.cep, c.logradouro, c.bairro, c.cidade, c.estado FROM cep c
  WHERE c.cep = '74969030';

Faça assim:

update cep c set c.cep=substring(cep,1,5)||'-'||substring(cep,6,3)

Não se esqueça de aumentar o tamanho da coluna cep antes de fazer isso, e fazer uma cópia de segurança da sua tabela antes, também…

Não faça assim e não faça de jeito algum.
O banco de dados serve para armazenar dados e não formatar. A formatação é responsabilidade da camada de apresentação.
Salvo se você for ensinar SQL para os usuários… Coisa que acredito que não será feita.

[quote=drsmachado]Não faça assim e não faça de jeito algum.
O banco de dados serve para armazenar dados e não formatar. A formatação é responsabilidade da camada de apresentação.
Salvo se você for ensinar SQL para os usuários… Coisa que acredito que não será feita.[/quote]

Bom dia
o bd nao vai formartar os dados…
o que acontece é que na minha base de dados os ceps estão assim 74969030
e na camada de apresentação ao usuario ele aparece assim ------> 74969-030
mas caso o cep nao exista na minha base de dados eu quero cadastrar o mesmo, so que quando uso o getText(), ele me retorno o cep desse modelo 74969-030
entao se eu for inserir esse novo cep no bd aquele traço vai junto. o que eu quero entao é ou atualizar toda as faixas de cep do meu bd inserindo um “-” ou
um modo de quando eu der um getText() ele retirar o traço e inserir no bd assim 74969030

Para melhor entendimento BD -----> 74969030 acrescentar o traço para ficar padronizado
ou
Apresentação para o Usuario -----> 74969-030 retirar o traço para poder inserir no mesmo formato do BD

o que vc me aconselha entao?

[quote=Roselito Fávero da Silva]Faça assim:

update cep c set c.cep=substring(cep,1,5)||'-'||substring(cep,6,3)

Não se esqueça de aumentar o tamanho da coluna cep antes de fazer isso, e fazer uma cópia de segurança da sua tabela antes, também…[/quote]

OK tenho uma base de teste vou tentar isso a noite

Engraçado, lendo teu tópico original, achei que queria exatamente o oposto do que acabou de dizer…

[quote=Janerson]
Tem como alterar todas as faixas de ceps do meu bd inserindo um traço " - " via sql de uma vez só? se tiver como faço isso?[/quote]
Aconselho a decidir o que quer, primeiramente,
Depois, aprenda a trabalhar com JFormattedTextField e, por último, aprenda a tratar dados que são inseridos pelos usuários de forma a deixar apenas números, apenas letras ou impedir letras, números, caracteres especiais e assim por diante.
Mais uma vez, bancos de dados servem para guardar os dados sem formatação.

OK foi falha ao mim expressar
vou ler a documentaçao do JFormattedTextField

[quote=drsmachado]Não faça assim e não faça de jeito algum.
O banco de dados serve para armazenar dados e não formatar. A formatação é responsabilidade da camada de apresentação.
Salvo se você for ensinar SQL para os usuários… Coisa que acredito que não será feita.[/quote]

VLW drsmachado
consegui fazer assim, era isso que voçê queria me dizer


       String remove ,  cep = "#####-###";      
       remove = cep.substring(0 , 5)+cep.substring(6);       
       System.out.println("Removido: " + remove);

Ou vc poderia usar a função replace.

String cep = campo_cep.getText().replace('-','')

Nesse caso, irá pegar só os numeros.

[quote=marcospaulo.suporte]Ou vc poderia usar a função replace.

String cep = campo_cep.getText().replace('-','')

Nesse caso, irá pegar só os numeros.[/quote]

Vlw pela dica

[quote=Roselito Fávero da Silva]Faça assim:

update cep c set c.cep=substring(cep,1,5)||'-'||substring(cep,6,3)

Não se esqueça de aumentar o tamanho da coluna cep antes de fazer isso, e fazer uma cópia de segurança da sua tabela antes, também…[/quote]
Testei a nivel de curiosidade em uma base de teste e nao funcionou, alias setou o valor 1 para todas as faixas de ceps