Fórum Transformar Inteiro em Caracter #298943
10/10/2005
0
Uso o Firebird com o IBExpert. No IB tenho uma procedure que faz o seguinte: retorna o numero do ultimo pedido e atualiza a tabela.
O problema é o seguinte:
1) O meu campo e Char(5)
2) Preciso transformar em Inteiro para acrescentar + 1
Ate aí beleza conforme citacao abaixo.
3) Preciso agora de transformar novamente em char com cinco posiçoes.
[b:82f1d1f535]
EX: empnumped = 00035
o numpedido deverá retornar: 00036
[/b:82f1d1f535]
:lol: Alguém pode me ajudar?
Caso ainda não ficou claro, e só postar a dúvida! :o
brigadu.
Morais
Digitom
Curtir tópico
+ 0Posts
10/10/2005
Rjun
Gostei + 0
10/10/2005
Digitom
Eu tentei usar assim:
CREATE PROCEDURE F_NUMPEDIDO (
RETURNS (
NUMPEDIDO CHAR(5))
AS
begin
select empnumped
from empresa
where empcod = :tipo
into :numpedido;
update empresa set empnumped = [b:d96ac94c4b]cast([/b:d96ac94c4b] cast(empnumped as integer)+ 1 [b:d96ac94c4b]as char[/b:d96ac94c4b];
suspend;
end
[color=blue:d96ac94c4b]
Erro: Overflow occured during data type conversion.
conversion error from string ´38´.
[/color:d96ac94c4b]
brigadu
Morais
Gostei + 0
11/10/2005
Digitom
Consegui resolver o erro abaixo, :oops: Mas ainda preciso que ele retorne os [color=darkblue:0909704040]ZEROS A ESQUERDA[/color:0909704040].
[b:0909704040]
Erro: Overflow occured during data type conversion.
conversion error from string ´38´.
[/b:0909704040]
fiz a seguinte modificação:
CREATE PROCEDURE F_NUMPEDIDO (
RETURNS (
NUMPEDIDO CHAR(5))
AS
begin
select empnumped
from empresa
where empcod = :tipo
into :numpedido;
update empresa set empnumped = [b:0909704040]cast([/b:0909704040]cast(empnumped as integer)+ 1 [b:0909704040]as char(5))[/b:0909704040];
suspend;
end
Ou seja, coloquei o tamanho do caracter 5 que é o meu caso.
Brigadu.
Morais
Gostei + 0
17/10/2005
Digitom
A todos que tentaram responder o meu muito obrigado.
Usando a função UDF lpad eu consigo retornar a quantidade de caracteres desejados.
Ex:
[b:c56dd3c151]lpad(empnumped, 5,´0´) [/b:c56dd3c151]
ps. Tem que definir a utilização desta UDF pelo bd
brigadu.
Morais
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)