[firebase-br] Extrair apenas numero de um string

Wellington Melo wellmsilva em gmail.com
Qua Jul 21 17:50:17 -03 2010


Boa tarde a todos,
   Gostaria de saber se alguem sabe como criar a procedure abaixo no
firebird 1.5 :

SET TERM ^;
CREATE OR ALTER PROCEDURE EXTRAI_INTEIRO(
  pTEXTO VARCHAR(100)
)RETURNS(
  RESULTADO VARCHAR(100)
)AS
DECLARE VARIABLE INDICE INTEGER;
DECLARE VARIABLE CARACTER CHAR(1);
begin
  IF (pTEXTO IS NULL) THEN
    RESULTADO = '';
  ELSE
  BEGIN
    RESULTADO = '';
    INDICE = 1;
    WHILE (INDICE <= CHAR_LENGTH(pTEXTO)) DO
    BEGIN
      CARACTER = CAST(SUBSTRING(pTEXTO FROM INDICE FOR 1) AS CHAR(1));
      IF (CARACTER BETWEEN '0' AND '9') THEN
        RESULTADO = RESULTADO||CARACTER;
      INDICE = INDICE + 1;
    END
  END
  suspend;
end^

Ela foi criada no Firebird 2.5 e funcionou perfeitamente mas quando vou
criar no 1.5 não.



Mais detalhes sobre a lista de discussão lista