[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