Formatar e acrescentar Nono digito

23/06/2019

0

SQL

Olá pessoal!

Gostaria de uma ajuda para formatar minha tabela de telefones.

Tenho o seguintes formatos:
98236-4728
981004744
78633688

Gostaria de formatar da seguinte maneira para os que tem nono digito manter, para os que tem "-" retirar e para os que não contem nono digito acrescentar.

Alguém poderia me ajudar?
Welton Becegato

Welton Becegato

Responder

Post mais votado

23/06/2019

Certo, são dois problemas, retirar o traço e adicionar o nove, um de cada vez:
Retirar o traço:

UPDATE [ESCREVA AQUI O NOME DA SUA TABELA] SET [ESCREVA AQUI O NOME DA SUA COLUNA] = REPLACE([ESCREVA AQUI O NOME DA SUA COLUNA], '-', '')


Nós utilizamos UPDATE para dizer qual tabela será atualizada, SET para dizer o que queremos alterar, no caso foi uma coluna inteira e então usamos o método REPLACE, que troca um ou mais caracteres por outro(s) caracteres, no caso, trocamos '-' por ''(nada)

Agora adicionar o 9:

UPDATE [ESCREVA AQUI O NOME DA SUA TABELA] SET [ESCREVA AQUI O NOME DA SUA COLUNA] = RIGHT(CONCAT( REPLICATE('9', [ESCREVA AQUI O NÚMERO DE NOVES FALTANTES]),  ([ESCREVA AQUI O NOME DA SUA COLUNA]) ), 8) WHERE LEN([ESCREVA AQUI O NOME DA SUA COLUNA] )  < 9;


Dessa vez nós utilizamos novamente o UPDATE, selecionando a coluna a ser modificada outra vez, usando o método RIGHT, que diz aonde a modificação deve ocorrer, nós especificamos 8, o que significa que deve ocorrer logo depois da oitava casa, contando da direita para a esquerda, o comando passado foi o método CONCAT, que serve para adicionar algo a um campo, passando como o "algo" a ser adicionado o método REPLICATE que replica o valor especificado, no caso 9, o número de vezes especificado, no caso, a quantidade de noves faltantes, por fim, usamos o comando WHERE para dizer aonde essa modificação deve ocorrer, e então usamos o método LEN para informar que as informações só devem ser alteradas onde o comprimento do valor armazenado for menor do que nove dígitos.

Sadasd

Sadasd
Responder

Mais Posts

23/06/2019

Welton Becegato

Muito Obrigado Daniel! funcionou aqui tive que apenas trocar 8 para o 9.

UPDATE [BaseConfiancaMaio19_2]
SET TELEFONE = RIGHT(CONCAT(REPLICATE(''9'', 9),(TELEFONE)),9)
WHERE LEN(TELEFONE ) < 9;
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar