[firebase-br] Zeros a Esquerda no Firebird 1.5
Reijanio Nunes Ribeiro
rnribeiro em gmail.com
Qui Nov 28 14:22:52 -03 2013
Da uma olhada em subsstring
Em 28/11/2013 10:56, "Fabio Nascimento" <fhpnascimento em gmail.com> escreveu:
> Pessoal precisei retornar um resultado com zero a esquerda no firebird 1.5
> que não tem ainda a função lpad e char_length, então fiz uma stored
> procedure pra isso, de repente alguem pode precisar estou enviando aqui.
>
> Abs
> Fábio
>
> SET TERM ^ ;
>
> CREATE OR ALTER PROCEDURE PCHAR_LENGTH (
> entrada varchar(50))
> returns (
> saida integer)
> as
> declare variable i integer;
> begin
>
> i = 0;
>
> while (entrada <> '') do begin
> i = i + 1;
> entrada = substring(entrada from 2);
> end
>
> saida = i;
>
> suspend;
> end^
>
> SET TERM ; ^
>
> GRANT EXECUTE ON PROCEDURE PCHAR_LENGTH TO SYSDBA;
>
> SET TERM ^ ;
>
> CREATE OR ALTER PROCEDURE PFILL_WITH_ZERO (
> entrada varchar(50),
> qtde integer)
> returns (
> saida varchar(50))
> as
> declare variable i integer;
> declare variable tamanho integer;
> begin
>
> i = 0;
>
> saida = entrada;
> select * from pchar_length(:entrada) into tamanho;
>
> while (i < (qtde-tamanho)) do begin
> saida = '0' || saida;
> i = i + 1;
> end
>
> suspend;
>
> end^
>
> SET TERM ; ^
>
> GRANT EXECUTE ON PROCEDURE PCHAR_LENGTH TO PROCEDURE PFILL_WITH_ZERO;
>
> GRANT EXECUTE ON PROCEDURE PFILL_WITH_ZERO TO SYSDBA;
> ______________________________________________
> 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