问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

oracle如何用abs()处理后保留2位

发布网友 发布时间:2022-04-09 15:50

我来回答

2个回答

热心网友 时间:2022-04-09 17:19

方法一:使用to_char的fm格式
to_char(round(data.amount,2),'FM9999999999999999.00') as amount
不足之处是,如果数值是0的话,会显示为.00而不是0.00。
另一需要注意的是,格式中小数点左边9的个数要够多,否则查询的数字会显示为n个符号“#”。
解决方式如下:
select decode(salary,0,'0.00',(to_char(round(salary,2),'fm99999999999999.00'))) from can_do;

方法二:使用case when then else end进行各种情况的判断处理
case
when instr(to_char(data.amount), '.') < 1 then
data.amount || '.00'
when instr(to_char(data.amount), '.') + 1 = length(data.amount) then
data.amount || '0'
else
to_char(round(data.amount, 2))
end as amount_format

方法三:可以使用Oracle自带的参数设置
column amount format l9999999999.99
此方法的不足是,format中的小数点左面的9的个数要已知,否则会出现超过的数字显示为########的情况。
另外一个问题是,使用column时,设置生效是session级还是system级,需要注意。
也许某张表的数值列不总是要求所有的地方显示时,都是小数点后两位的格式,此时只能使用session级,但是有个数据库连接会话超时的问题,如果不是使用到system级,不建议使用该方法。

热心网友 时间:2022-04-09 18:37

oracle中abs()是取number类型数据绝对值,然后用round来指定保留2位小数。
使用to_char的fm格式
to_char(round(data.amount,2),'FM9999999999999999.00') as amount
不足之处是,如果数值是0的话,会显示为.00而不是0.00。
另一需要注意的是,格式中小数点左边9的个数要够多,否则查询的数字会显示为n个符号“#”。
解决方式如下:
select decode(salary,0,'0.00',(to_char(round(salary,2),'fm99999999999999.00'))) from can_do;
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
sometimesome timesometimessome times的区别 瓜地的午餐怎么造句 夏季宝宝不吃饭应该怎么办 狼人杀里面的白狼王模式怎么玩? 狼人杀白狼王和骑士:操作至上的高效玩法指南 狼人杀手游白狼王怎么玩 详细玩法攻略 狼人杀 狼人杀的白狼王怎么玩? 国产轮毂品牌有哪些 国产轮毂品牌哪个品牌好 国内轮毂有哪些品牌 岗位和职务怎么填 接地装置顶面距地面高度 是什么意思 【车主点评:奔驰C260L到手后的个人用车体验】 三级笨的重复接地如何做?接地极的大小是何规格以及打入地下多深? 中银基金首次登陆提示 “号码不存在或已销户” 2020款奔驰C260L运动版简易提车和改装作业分享 电气上的‘地’是指离接地极多少米以外的电位等于零的地方 地线要求埋地多深 【C 260 L 运动星耀臻藏版 这车怎么样?】 防雷防漏电的地线要埋多深才会有用? 兜兜转转还是买了奔驰C260L,提车两个月了 路灯接地极该埋入地下多深?标准怎么规定的?求指导!!! 奔驰c260L如何拉高速 【车主点评:提车奔驰C260L运动 我的眼里只有你】 正常地形接地极打多深 地线接多深为好怎么接 我忘了奔驰C260L的磨合是多少公里? 接地桩打地下多深 桩距离多远一个 中行电话查询密码是什么? 请问接地应该打到地下几米为标准 睿米吸尘器吸的时间短是怎么回事? 本人无故收到一条现金贷催还款短信是怎么回事? &quot;殷&quot;有三种读音,在姓氏中怎么读呀? 建设银行信用卡还款提醒短信怎么设置 姬在姓氏中怎么读 银行的提醒客户还款短信是怎么写的? 现货白银的隔夜费怎么算的?隔夜费是不是也叫延期费? 那在姓氏中怎么读 现货白银隔夜费是怎么计算的 怎么办辨别还款短信的真假? 现货白银的隔夜费是什么 栾在姓氏里面怎么读? 白银的过夜费是怎么算的 荣耀10 GT百度地图位置怎么分享给朋友 我的手机短信收到朋友的还款短信是怎么回事 现货白银过夜费 现货白银投资持仓过夜费怎么算 现货白银的持仓过夜费是多少 突然收到的还款短信? 现货白银里面隔夜费是什么意思? 牟在姓氏中怎么读?