[firebase-br] Retirar valores em comando SQL.

Sandro Souza escovadordebits em gmail.com
Qua Jun 22 18:16:03 -03 2011


Bom dia/tarde Matheus.

Por favor, teste a seguinte stored procedure selecionável:

SET TERM ^ ;
CREATE OR ALTER PROCEDURE TRIMZEROS(
  TEXTO VARCHAR(100)
) RETURNS (
  RESULTADO VARCHAR(100)
) AS
BEGIN
  -- Copia o texto informado.
  RESULTADO = TEXTO;
  -- Informou um texto a ser processado?
  IF (RESULTADO IS NOT NULL) THEN
    -- Laco de remocao dos zeros iniciais.
    WHILE ((CHAR_LENGTH(RESULTADO) > 0) AND (SUBSTRING(RESULTADO FROM 1 FOR
1) = '0')) DO
      -- Remove o primeiro caracter do texto atual.
      RESULTADO = SUBSTRING(RESULTADO FROM 2 FOR (CHAR_LENGTH(RESULTADO) -
1));
  -- Retorna o resultado.
  SUSPEND;
END^
SET TERM ; ^

Agora é só testar: SELECT RESULTADO FROM TRIMZEROS('*00000000A00123*');

Espero ter ajudado mais que atrapalhado. :D

Em 22 de junho de 2011 17:00, Matheus Mathias <matheus.jgs em gmail.com>escreveu:

> Boa tarde,
> eu estou com um problema aqui que seria o seguinte.
> eu tenho um valor "00000000A00123" e não consegui ver uma solução para
> fazer
> retirar os 0 a esquerda.
> O resultado ficaria o seguindo "A00123".
> não sei se isso seria possivel fazer no Firebird, mas no Delphi mesmo ja
> consegui fazer isso.
> Eu precisava para poder fazer a comparação.
>
> --
> Grato,
> Matheus.
> ______________________________________________
> 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