[firebase-br] Remover o ultimo caractere de uma string

Moacir - GMAIL prismars em gmail.com
Qui Fev 18 06:15:38 -03 2016


Gladiston,

Veja se a procedure abaixo te ajuda:

SET TERM ^ ;

create or alter procedure STRLEN (
     TEXTO varchar(1000))
returns (
     TAM integer)
as
declare variable BUF varchar(1000);
BEGIN
   TAM = 0;
   BUF = '';
   WHILE (NOT TEXTO LIKE BUF) DO
   BEGIN
     TAM = TAM + 1;
     BUF = BUF || '_';
   END
   suspend;
END^

SET TERM ; ^


Sucesso,

Moacir

Em 17/02/2016 20:58, Gladiston Santana escreveu:
> Alguém aí sabe como remover o ultimo caractere de uma string ?
> Mas calma ai, antes de recomendar left(var, length(var)-1) ou algo do
> genero, o que eu quero está limitado a um campo calculado, o exemplo:
>
> CREATE TABLE BLA(....
>
>      STATUS_COMENTARIO COMPUTED BY ((trim(
>        CASE
>          WHEN (STATUS='A') THEN
>             iif(SE_AUTORIZAR='S', 'autorizar,', '')||
>             iif(SE_CALCULAR='S','[re]calcular,','')||
>             iif(SE_VENCER='S','vencer','')
>          WHEN (STATUS='I') THEN 'Informativo'
>          WHEN (STATUS='C') THEN 'Cancelado'
>          WHEN (STATUS='F') THEN 'Concluído'
>          ELSE  'Desconhecido'
>        END)
> ))
>
> Na linha acima você pode ver uma concatenação de palavras terminadas com
> virgulas, assim gerará resultados como:
> autorizar,[re]calcular,vencer,
>
> E não consigo remover o ultimo caractere.
> Ja tentei concatenar ASCII_CHAR(8), replace ,\n, e realmente parece ser sem
> saida, mas antes de desistir, resolvi colocar a questão na lista e saber se
> alguém conhece outra forma.
>


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





Mais detalhes sobre a lista de discussão lista