[firebase-br] função STUFF (SOLUÇÃO)

Hélio Oliveira hpensador em gmail.com
Qui Set 13 09:20:38 -03 2018


Bom dia Colegas!

Com base no que está descrito aqui http://www.oohg.org/cl53/nga2123.html
criei a função abaixo. Nos testes feitos com os valores do exemplo do 
material encontrado no link acima, a mesma está funcionando 100% - deixo 
aqui como uma contribuição.

Fiz uma SP por estar usando o FB 2.5 neste projeto, se fosse no 3.0 
seria uma Function.

CREATE PROCEDURE STUFF (
    WP_texto VARCHAR(1000),
    WP_Start INTEGER,
    WP_Delete INTEGER,
    WP_Insert VARCHAR(100))
RETURNS (
    WW_Stuff VARCHAR(1000) )
AS
    DECLARE VARIABLE WW_P1 VARCHAR(1000);
    DECLARE VARIABLE WW_P2 VARCHAR(1000);
BEGIN
    WW_Stuff = '';
    if (WP_Delete > 0) then begin
       WW_P1 = SUBSTRING(WP_texto FROM 1 FOR WP_Start-1);
       WW_P2 = SUBSTRING(WP_texto FROM (WP_Start+WP_Delete) FOR 
CHAR_LENGTH(WP_texto));
    end else if (WP_Delete = 0) then begin
       WW_P1 = SUBSTRING(WP_texto FROM 1 FOR WP_Start-1);
       WW_P2 = SUBSTRING(WP_texto FROM WP_Start FOR CHAR_LENGTH(WP_texto));
    end
    WW_Stuff = WW_P1 || WP_Insert || WW_P2;
    SUSPEND;
END;


Em 12/09/2018 13:49, Hélio Oliveira escreveu:
> Boa tarde Colegas!
> 
> Temos alguma função nativa no Firebird que faço o mesmo que essa função 
> do C http://www.oohg.org/cl53/nga2123.html.
> 
> [ ]'s,
> 
> Hélio
> 
> 
> 
> ______________________________________________
> 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
> 






Mais detalhes sobre a lista de discussão lista