Na pressa fiz essa lógica
IF ( MOD( TRUNC( ( NEW."Valor_ICMS" * 1000 ), 0 ), 10 ) > 5 )
THEN
NEW."Valor_ICMS" = ROUND( NEW."Valor_ICMS", 2 );
ELSE
NEW."Valor_ICMS" = TRUNC ( NEW."Valor_ICMS", 2 );
END IF;
Valeu pessoal
-----Mensagem Original-----
From: Leandro Guimaraens Faria Corcete DUTRA
Sent: Monday, March 13, 2017 10:15 AM
To: Comunidade PostgreSQL Brasileira
Subject: Re: [pgbr-geral] Arredondamento
Le lun. 13 mars 2017 à 9:55, Flavio Henrique Araque Gurgel
<[email protected]> a écrit :
> Porém estão me pedindo para arredondar para acima somente
> quando for acima de 5, por exemplo:
Essa mesma é a definição e o exemplo de round ():
Eu também levei um minuto pra entender.
O OP precisa no exemplo que o valor na próxima casa após o arredondamento
seja "acima de 5".
Eu particularmente não conheço nenhuma função embutida que faça isso, mas
acho que é fácil escrever uma em 4 ou 5 linhas de pl/pgsql, devidamente
estática, pra resolver.
Ah! Bom, se entendi direito agora, acho que quem pediu isso ao
consulente original não entendeu bem o que é arredondamento, e está
pedindo para ter problemas depois.
Como dizem, todo mundo pode fazer bobagens, mas para causar uma
verdadeira catástrofe um computador ajuda.
--
skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra
+55 (61) 3546 7191 gTalk: xmpp:[email protected]
+55 (61) 9302 2691 ICQ/AIM: aim:GoIM?screenname=61287803
BRAZIL GMT−3 MSN: msnim:[email protected]
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral