[firebase-br] Remover caracteres de uma string

Luciano luciano em praticsistemas.com.br
Qui Dez 18 07:48:54 -03 2008


Pegue esta procedure
=================================
CREATE OR ALTER PROCEDURE FU_POS(
    SUB VARCHAR(8192),
    STR VARCHAR(8192))
RETURNS (
    RESULT SMALLINT)
AS
DECLARE VARIABLE SUB2 VARCHAR(8192);
DECLARE VARIABLE TMP  VARCHAR(8192);
BEGIN
if ((Sub is null) or (Str is null)) then begin
 result = 0;
 exit;
end

Sub2   = Sub || '%';
Tmp    = '';
result = 1;

while ((Str not like Sub2) and (Str not like Tmp)) do begin
 Sub2    = '_' || Sub2;
 Tmp     = Tmp || '_';
 result  = :result + 1;
end

if (Str like Tmp) then
 result = 0;

suspend;
end

=================================

Mais esta...

=================================
CREATE OR ALTER PROCEDURE FU_ONLYDIGIT(
    WVAR VARCHAR(255))
RETURNS (
    R_ONLYDIGIT VARCHAR(255))
AS
DECLARE VARIABLE K INTEGER;
DECLARE VARIABLE I INTEGER;
begin
k = character_length(:wvar);
r_onlydigit = '';

while (:k > 0) do begin
 select result from Fu_Pos(substring(:wvar from 1 for 1), '0123456789') into 
:i;

 if (:i > 0) then
  r_onlydigit = r_onlydigit || substring(:wvar from 1 for 1);

 wvar = substring(:wvar from 2 for 254);
 k = :k - 1;
end

suspend;
end
=================================

E pronto... está feito

Luciano C dos Santos

----- Original Message ----- 
From: "Cleber" <cleber em agrosoftrs.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, December 17, 2008 9:30 AM
Subject: Re: [firebase-br] Remover caracteres de uma string


barbada...
cria uma procedure ou se não for mais usar faz um execute block...

declare variable lcfop varchar(7);
declare variable lcfop_limpo varchar(7);
declare variable ltexanaliza char(1);
declare variable cdcfop integer;
declare variable i integer;
begin

  for select n.codigo, n.cfop from operacoes_nat n
      where n.cfop is not null
  into :cdcfop, :LCfop do begin

    LCfop_Limpo = '';
    i = 1;
    ltexanaliza = '';

    while(i <= char_length(:LCfop))do begin
      ltexanaliza = substring(LCfop from i for 1);
      if (ltexanaliza <> '.') then
        LCfop_Limpo = LCfop_Limpo||ltexanaliza;

      i = i + 1;

    end

    if ((lcfop_limpo <> '') and (lcfop_limpo <> LCfop)) then begin

      update operacoes_nat set
        operacoes_nat.cfop = :lcfop_limpo
      where operacoes_nat.codigo = :cdCfop;

    end

  end
end



----- Original Message ----- 
From: "Gustavo Moda" <gustavo.moda em gmail.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, December 17, 2008 9:05 AM
Subject: Re: [firebase-br] Remover caracteres de uma string


olá,

Nativamente no FB não tem!
Você pode usar uma UDF


2008/12/17 Zottis <zottissistemas em brturbo.com.br>:
> tenho uma função em delphi para isso, mas via SQL não sei.
> se quiser eu te mando.
>
>
>
> Zottis(TeamFB Users)
>
> Zottis Sistemas - 2008 Ano XI
> Programação Delphi/PHP/Firebird/MySQL
>
> "Um homem só tem o direito de olhar
>  a um outro de cima para baixo, quando
>  vai ajuda-lo a levantar-se".
>                  Gabriel Garcia Marquez
> ----- Original Message ----- From: "Daniel (VIPA)" <daniel em vipa.com.br>
> To: "'FireBase'" <lista em firebase.com.br>
> Sent: Wednesday, December 17, 2008 9:42 AM
> Subject: [firebase-br] Remover caracteres de uma string
>
>
> Bom Dia Pessoal!
>
>
>
> Preciso fazer o seguinte:
>
>
>
> Tenho um campo na minha tabela de Clientes que armazena a Inscrição
> Estadual, porém estes dados foram cadastrados sem nenhum tipo de 
> formatação,
> mesmo porque a inscrição estadual varia de acordo com a Unidade da
> Federação.
>
> Preciso remover deste campo alguns caracteres (que podem estar em qualquer
> posição).
>
>
>
> Por exemplo:
>
>
>
> 535.097.060.117 - neste caso remover apenas o ponto (.);
>
> 535 016 803 110 - neste caso remover os espaços;
>
>
>
> Ou outro caracter que o usuário possa ter utilizado.
>
>
>
>
>
> Obrigado!
>
>
>
> Daniel
>
> ______________________________________________
> 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://firebase.com.br/pesquisa
>
> ______________________________________________
> 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://firebase.com.br/pesquisa
>

______________________________________________
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://firebase.com.br/pesquisa


______________________________________________
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://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista