Remover caracter
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 ?
Marcio.theis
Curtidas 0
Respostas
Tommahawk
10/03/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:
replace(replace(replace(numero_telefone,´(´,´´),´)´,´´),´-´,´´)
GOSTEI 0
Marcio.theis
10/03/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....
GOSTEI 0
Marcio.theis
10/03/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....
GOSTEI 0
Robertolucio
10/03/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
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
GOSTEI 0