[firebase-br] Função DIGITS(), alguma maneira de contornar sua ausencia?

Firebase firebase em dominioinf.com.br
Sex Dez 9 09:29:18 -03 2016


Bom dia, Contornei esse problema criando uma procedure:

CREATE PROCEDURE PROC_DIGITOS (
  TEXTO VARCHAR(100)
)
RETURNS (
  RETORNO VARCHAR(100)
)
AS
DECLARE VARIABLE CH CHAR(1);
BEGIN
Retorno = '';
WHILE (Texto IS NOT NULL AND Texto <> '') DO
BEGIN
Ch = SUBSTRING(Texto FROM 1 FOR 1);
IF (Ch >= '0' AND Ch <= '9') THEN
Retorno = Retorno || Ch;
Texto = SUBSTRING(Texto FROM 2 FOR 100);
END
SUSPEND;
END
;

E executa dessa forma:
SELECT C.NOME, C.ENDERECO, (select * from PROC_DIGITOS(C.TELEFONE)) AS 
TELEFONE FROM CLIENTES C

Não sei se é bem isso que vc precisa, mas espero ter ajudado.

Grato

Rodrigo

-----Mensagem Original----- 
From: Gladiston Santana
Sent: Monday, November 07, 2016 12:03 PM
To: FireBase
Subject: [firebase-br] Função DIGITS(), alguma maneira de contornar sua 
ausencia?

Olá pessoal,

Estou importando dados de um outro banco de dados, e para evitar
duplicações tenho que conferir se um telefone já não foi importado antes. O
problema é que a forma como o telefone foi armazenado permite duplicações
como 11-555-9090, (11)555-9090 e 115559090 então precisaria usar uma função
chamada DIGITS que existe em outros bancos de dados que retorna de uma
string apenas os digitos numericos e então importar os que não existem ou
excluir os que são repetidos.

O Firebird não possui tal função, ou talvez ela exista de outra forma,
alguém aqui lista já precisou disso e conseguiu resolver essa questão?

Se não houver, vou tem que pensar numa procedure e quebrar a cabeça por
algo que parece ser simples.
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use: 
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: 
http://www.firebase.com.br/pesquisa_lista.html 


---
Este email foi escaneado pelo Avast antivírus.
https://www.avast.com/antivirus





Mais detalhes sobre a lista de discussão lista