[firebase-br] Concatenação de VARCHAR + NUMERIC
Tecnobyte Informática
temp2 em tecnobyte.com.br
Sex Jul 15 12:30:52 -03 2011
Bom dia
Usando stored procedure você consegue fazer isto. O exemplo abaixo foi
testado no Firebird 2.1. Se necessário, com um pouco mais de trabalho dá
para colocar o ponto de milhar também.
SET TERM ^ ;
CREATE OR ALTER PROCEDURE SP_FloatToStr(
FloatValue DOUBLE PRECISION,
Decimals SMALLINT
) RETURNS (
StrValue VARCHAR(50)
) AS
DECLARE VARIABLE P SMALLINT;
BEGIN
StrValue = FloatValue;
P = POSITION('.', StrValue);
StrValue = SUBSTRING(StrValue FROM 1 FOR P - 1) || ',' ||
SUBSTRING(StrValue FROM P + 1 FOR Decimals);
SUSPEND;
END^
--- Exemplo de uso
SELECT
Produto.Descricao,
'R$ ' || (SELECT SP.StrValue FROM SP_FloatToStr(Produto.PrecoVenda, 2) AS
SP) AS Preco
FROM Produto
Atenciosamente.
Daniel P. Guimarães
Tecnobyte Informática
www.tecnobyte.com.br
-----Mensagem Original-----
From: andre conrado
Sent: Friday, July 15, 2011 9:36 AM
To: FireBase
Subject: [firebase-br] Concatenação de VARCHAR + NUMERIC
Saudações amigos!!!
Alguém sabe como concatenar, dentro do BD, um texto com um valor
numérico e obter como resultado um texto com a vírgula como separador
de casa decimal, sem utilizar UDF. Ex:
'Total a pagar : R$ 2.301,48'
--
Um Abraço,
André Conrado.
055 21 9176-7013 - Claro
Mais detalhes sobre a lista de discussão lista