首页 > 数据库技术 > 详细

sql避免科学计数法并保留两位小数

时间:2020-02-17 22:35:16      阅读:99      评论:0      收藏:0      [点我收藏+]
SELECT
        trim(to_char(ROUND((sum(a.BUYE_TRADE_TOTAL)-sum(a.SELL_TRADE_TOTAL)),2), 9999,999,990.00)) AS cQutantity,trim(to_char(ROUND(sum(a.AMOUNT),2), 9999,999,990.00)) AS CAmount,trim(to_char(ROUND(decode(sum(a.QUTANTITY),0,null,sum(a.AMOUNT)/sum(a.QUTANTITY)),2), 9999,999,990.00)) AS CAvgPrice
        FROM
        POSITION a

结果:

技术分享图片

以trim(to_char(ROUND(sum(a.AMOUNT),2), ‘9999,999,990.00‘)) AS CAmount为例:

(1)ROUND(A/B,2),ROUND()函数会将计算结果进行四舍五入。参数:第一个是你的计算表达式,第二个是需要保留的小数位数。

         不需要四舍五入直接用表达式,或用TRUNC(A/B,2)。

   trim(to_char(sum(a.AMOUNT), ‘9999,999,990.00‘)) AS CAmount

(2)使用trim( )函数将字符串左侧空白去掉。

(3)TO_CHAR(A/B,‘99990.00’)

TO_CHAR()是一个格式化函数,第一个参数是计算表达式,第二个参数是指定格式化的格式,如果保留两位小数则小数点后写两个00

第二个参数中常用的替换符0和9,分别代表如下含义:

0:零,在对应位置返回对应的字符,如果没有则以’0’填充。
9:在小数位,则表示转换为对应字符,如果没有则以0表示;在整数位,没有对应则不填充字符.
二者最大的区别是:对应位没有则填0,而9不填充字符;
二者共同点:如果格式的位数不如数字的位数多,则返回‘#’

sql避免科学计数法并保留两位小数

原文:https://www.cnblogs.com/hpwd/p/12323783.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!