Re: [firebase-br] Preenchendo com zeros à esquerda
Ricardo Mauro
rm_kylix em yahoo.com.br
Qua Jun 15 10:40:35 -03 2005
Bom dia,
eu utilizo desta forma
select cast(lpad(100, 4, '0') ||' - '|| 'COD_CLIENTE - NOME_CLIENTE' as
varchar(70))
from rdb$database
onde, lpad(cod_cliente, tamanho_campo_formatado, 'caracter_esquerda')
esta funcao (UDF) e nativa do Firebird.
Seria isso que esta precisando?
Abracos,
Ricardo Mauro
Goiania - GO
----- Original Message -----
From: "Ivan L. Seibel" <ivanseibel em gmail.com>
To: "Lista Firebase" <lista em firebase.com.br>
Sent: Wednesday, June 15, 2005 9:39 AM
Subject: [firebase-br] Preenchendo com zeros à esquerda
Bom dia,
Estou convertendo um banco de clientes FB1.5 para nosso sistema e
surgiu a necessidade de formatar valores numéricos com zeros à
esquerda.
Em vista disso, procurei por funções nativas do banco que pudessem
resolver o problema, mas não obtive sucesso.
A segunda alternativa seria trabalhar com uma UDF que seria na verdade
uma dll escrita em delphi a qual faria o processamento da string.
Trabalhando com a UDF, estou enfrentando dois problemas: o primeiro
seria qto à string d retorno q possui tamanho fixo (output parameter).
Isso realmente é inconveniente em vista de estar retornando espaços
desnecessários; o segundo seria o fato de que o parâmetro numérico que
é usado para saber qtas vezes repetir o caracter '0' está gerando um
erro de overflow na execução. Aparentemente a dll não está
reconhecendo o tipo de valor inteiro enviado.
Alguém q já tenha passado por algo semelhante poderia me dizer se há
alguma função nativa para tal tarefa e, se não houver, qual o tipo de
valor inteiro q devo esperar em minha dll para que a UDF processe sem
problemas.
Agradeço antecipadamente qq atenção e/ou ajuda,
[]'s,
Ivan L. Seibel
Analista/Desenvolvedor
Linux User nr #88493
CONECSOFT Consultoria e Informática
R. Major Gama, 967 - Centro Sul
CEP: 78020-170 Cuiabá - MT
WEB Site: www.conecsoft.com.br
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
____________________________________________________
Yahoo! Mail, cada vez melhor: agora com 1GB de espaço grátis! http://mail.yahoo.com.br
Mais detalhes sobre a lista de discussão lista