Array
(
)

Remover caracter

Marcio.theis
   - 10 mar 2006

Tenho o seguinte problema, desejo que o n° de telefone do meu BD perca a formatação, ou seja, se estiver (99) 9999-9999 deve de ficar 9999999999 isto somente em consultas, pois o usuário irá procurar pelo n° 9999999999 e para encontrar é preciso remover a formatação, têm como fazer isto ?

Tommahawk
   - 10 mar 2006

a função replace(´caractere procurado´,´caractere desejado´) faz essa substituição pra você. Você poderia aplicá-la sucessivamente no campo até remover o que precisa, tipo assim:

#Código

replace(replace(replace(numero_telefone,´(´,´´),´)´,´´),´-´,´´)


Marcio.theis
   - 13 mar 2006

É usando o replace que tenho hj no meu sql, isto não esta funcionando, pois o usuário pode digitar um . (ponto) ou uma / (barra), desta forma teria que ficar colocando vários replace, então, seria muito mais interessante se tivesse como somente pegar os números....

Marcio.theis
   - 13 mar 2006

É usando o replace que tenho hj no meu sql, isto não esta funcionando, pois o usuário pode digitar um . (ponto) ou uma / (barra), desta forma teria que ficar colocando vários replace, então, seria muito mais interessante se tivesse como somente pegar os números....

Robertolucio
   - 17 mar 2006

Cara, a função abaixo foi feita pelo Jesus Angelo. Acredito que possa te ajudar.

CREATE FUNCTION FN_SoDigitos(@Variavel varchar(254))
RETURNS @retorno table( soDigito varchar(254) )
AS
BEGIN
Declare @x Int
Declare @SoDigito varchar(254)
Set @x=1
Set @SoDigito = ´´
while (@x<=len(@Variavel))
begin
if (substring(@Variavel,@x,1) in
(´0´,´1´,´2´,´3´,´4´,´5´,´6´,´7´,´8´,´9´))
Set @SoDigito= @SoDigito + substring(@Variavel,@x,1)
Set @x=@x+1
end
insert into @Retorno(SoDigito) values (@SoDigito)
RETURN
END