[firebase-br] Retornar somente valores inteiro

Tecnobyte Informática temp2 em tecnobyte.com.br
Ter Ago 5 08:35:05 -03 2008


Bom dia

Não precisa de UDF, pois é possível implementar isto em um procedimento:

SET TERM ^ ;

DROP PROCEDURE Proc_Digitos^

CREATE PROCEDURE Proc_Digitos(Texto VARCHAR(100))
RETURNS(Retorno VARCHAR(100)) AS
DECLARE 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^

SET TERM ; ^

SELECT Retorno FROM Proc_Digitos('1AbC34De56'); -- Retorna 13456

Atenciosamente.

Daniel P. Guimarães
Tecnobyte Informática
www.tecnobyte.com.br


----- Original Message ----- 
From: "João Paulo" <jpcarvalhoi2 em gmail.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Monday, August 04, 2008 4:56 PM
Subject: Re: [firebase-br] Retornar somente valores inteiro


Há algum tempo também tive a mesma situação, onde tinha um campo de cpf/cnpj
formatado onde precisava retornar somente os números, na época utilizei uma
udf para isso. Vc pode criar uma udf para resolver isso, no proprio site da
firebase tem uns tutoriais legais sobre isso.

2008/8/4 Alisson <alisson em ecosbr.com>

> desse jeito eu retorno o maior valor varchar que no caso é uma palavra que
> começa com 'X'. quero apenas os valores que podem ser covertidos em
> numeros!
>
> obrigado.
> ----- Original Message -----
> From: "Marcelo Silva" <marcvan em ig.com.br>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Monday, August 04, 2008 2:52 PM
> Subject: Re: [firebase-br] Retornar somente valores inteiro
>
>
>    SELECT MAX(CAMPO) AS ULT_NUM FROM TABELA
>
> Marcelo Silva
> ------------------------------------------
>
> ----- Original Message -----
> From: "Alisson" <alisson em ecosbr.com>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Monday, August 04, 2008 2:15 PM
> Subject: Re: [firebase-br] Retornar somente valores inteiro
>
> cara num sei se você não me entendeu ou eu não entedi o que tu respondeu.
> a questão é que preciso fazer um select num campo do tipor varchar de uma
> tabela onde tem valores como "1,2,34,CAIXA,SIC,1000,1BANCO...' que ro faze
> um select que retorne somente os numeros inteiros para que eu possa saber
> qual é o maior e incrementar +1 na hora de salvar um novo registro!
>
> Abraços.
> Alisson Marcel
>
> ----- Original Message -----
> From: "Valdir Marcos" <valdir.marcos em ig.com.br>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Monday, August 04, 2008 11:20 AM
> Subject: Re: [firebase-br] Retornar somente valores inteiro
>
> Select Cast(Cast(100 as VarChar(1000)) as Integer)  * Cast(Cast(200 as
> VarChar(1000)) as Integer) as Resultado  From rdb$database;
>
> Select Cast(Campo_VarChar as Integer)  * Cast(Campo_VarChar as
> Integer) as Resultado  From rdb$database;
>
> Um abraço,
>
> Valdir
>
> 2008/8/4, Alisson <alisson em ecosbr.com>:
> > pessoal tem como retornar somente os valores inteirod de um campo
> > varchar?!
> >  sem que ocorra overflow?
> >
> >
> >  Abraços
> >
> > Alisson MArcel





Mais detalhes sobre a lista de discussão lista