[firebase-br] FORMATAR VALORES R$
Claudio CatSJ
claudio.sj em sercon.com.br
Ter Jul 25 11:08:06 -03 2006
Segue uma copia do e-mail, eu guardei na minha caixa de rascunho.. achei
muito boa ..
daniel, não sei se é seu aniversário, mas aí vai um presentão para você...
hehehe
para selecionar, use como na linha abaixo:
SELECT (SELECT R_REAL FROM SP_REAL(MOV.VALOR)) VALOR,MOV.DATA
FROM CADMOV MOV
/*sp para formatar valores numeric, float, e decimal em R$ 123,123,45
aguenta até 13 dígitos.
* * * não otimizei o código da sp, quem tiver tempo pode fazê-lo.
*/
CREATE PROCEDURE SP_REAL (
L_VALOR FLOAT)
RETURNS (
R_INTEIRO FLOAT,
R_DECIMAL FLOAT,
R_REAL VARCHAR(15))
AS
declare variable wint1 integer;
declare variable wint2 integer;
declare variable wx smallint;
declare variable w3 smallint;
declare variable wy smallint;
declare variable wletra char(1);
declare variable wtexto varchar(20);
declare variable wtexto1 varchar(20);
declare variable wtexto2 varchar(20);
begin
r_decimal=:L_VALOR - CAST(L_VALOR AS NUMERIC(11,0));
if (r_decimal < 0 ) then r_decimal=:L_VALOR - CAST(L_VALOR -1 AS INTEGER);
r_inteiro=L_VALOR - r_decimal;
r_decimal=r_decimal * 100;
wint1=cast(r_inteiro as integer);
wint2=cast(r_decimal as integer);
wtexto1=CAST(wint1 AS VARCHAR(10))||'.';
wx=0;
wy=0;
wtexto='';
while (wx<>13) do
begin
wletra=substring(wtexto1 from 1 for 1);
if (wletra<>'.' and wletra<>'') then
begin
wtexto=wletra||wtexto;
wy=wy+1;
end
wtexto1=substring(wtexto1 from 2 for 13);
wx=wx+1;
end
/* wy=número de letras */
wtexto2='';
wx=0;w3=0;
while (wx<>:wy) do
begin
wx=wx+1;
wtexto2=substring(wtexto from 1 for 1)||wtexto2;
wtexto=substring(wtexto from 2 for 13);
w3=w3+1;
if (w3=3 and wtexto<>'') then
begin
wtexto2='.'||wtexto2;
w3=0;
end
end
r_inteiro=wint1;
r_decimal=wint2;
r_real=substring(wtexto2||','||substring(100 + wint2 from 2 for 2) from 1
for 15);
suspend;
end
/* marcelo luiz stefaniak - teflamar proc.dados ltda */
----- Original Message -----
From: "CPD (Borborema-Imperial Transportes Ltda)" <cpd em borborema.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Tuesday, July 11, 2006 12:14 PM
Subject: Re: [firebase-br] UDF em Win e Linux
Vc tem algum exemplo de data e valor convertido por SP ?
ex:
15667.58 ===> 15.667,58
15667.587 ===> 15.667,59
CURRENT_TIMESTAMP ===> 11/07/2006 12:14
CURRENT_DATE ===> 11/07/2006
----- Original Message -----
From: "Adalberto de Sousa Monteiro" <adalberto.sm em bol.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Tuesday, July 25, 2006 10:41 AM
Subject: Re: [firebase-br] FORMATAR VALORES R$
Marcelo
Você saberia me dizer qual o titulo do e-mail para que eu possa procura-lo ?
Tentei achar , mas nao obtive mto sucesso.
Valeu
Adalberto
----- Original Message -----
From: "marcelo luiz stefaniak - teflamar" <marcelo em teflamar.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Monday, July 24, 2006 8:26 PM
Subject: Re: [firebase-br] FORMATAR VALORES R$
na semana passada mandei uma sp que faz isso, veja nas mensagens da lista
----- Original Message -----
From: "Adalberto de Sousa Monteiro" <adalberto.sm em bol.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Monday, July 24, 2006 7:33 PM
Subject: [firebase-br] FORMATAR VALORES R$
Boa noite a todo o grupo,
Algúém poderia me informar como faço para formatar um valor com o seguinte
formato 999.999,00 dentro de um comando select ?
Valeu
Adalberto
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.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
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.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
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.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
Mais detalhes sobre a lista de discussão lista