问答文章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
街头篮球手游中锋攻略汇总 C位攻略大全 街头篮球手游中锋有什么技巧 中锋C技巧详解 php一个表单提交数据怎么区分开,隐藏域可以吗,如果可以怎么用。 梦见牙掉光了什么预兆 梦见牙齿掉完了是什么征兆 梦见牙齿全掉了是什么预兆 梦见一口牙全部掉了是什么预兆 教师年度考核不认课的领导班子成员,干的工作不少,怎样考核办法公平... 湖北省郧西县义务教育学校绩效工资实施办法绩效工资总量和水平的... 事业单位年底是否有绩效奖金的 接地装置顶面距地面高度 是什么意思 【车主点评:奔驰C260L到手后的个人用车体验】 三级笨的重复接地如何做?接地极的大小是何规格以及打入地下多深? 中银基金首次登陆提示 “号码不存在或已销户” 2020款奔驰C260L运动版简易提车和改装作业分享 电气上的‘地’是指离接地极多少米以外的电位等于零的地方 地线要求埋地多深 【C 260 L 运动星耀臻藏版 这车怎么样?】 防雷防漏电的地线要埋多深才会有用? 兜兜转转还是买了奔驰C260L,提车两个月了 路灯接地极该埋入地下多深?标准怎么规定的?求指导!!! 奔驰c260L如何拉高速 【车主点评:提车奔驰C260L运动 我的眼里只有你】 正常地形接地极打多深 地线接多深为好怎么接 我忘了奔驰C260L的磨合是多少公里? 接地桩打地下多深 桩距离多远一个 中行电话查询密码是什么? 请问接地应该打到地下几米为标准 睿米吸尘器吸的时间短是怎么回事? 本人无故收到一条现金贷催还款短信是怎么回事? &quot;殷&quot;有三种读音,在姓氏中怎么读呀? 建设银行信用卡还款提醒短信怎么设置 姬在姓氏中怎么读 银行的提醒客户还款短信是怎么写的? 现货白银的隔夜费怎么算的?隔夜费是不是也叫延期费? 那在姓氏中怎么读 现货白银隔夜费是怎么计算的 怎么办辨别还款短信的真假? 现货白银的隔夜费是什么 栾在姓氏里面怎么读? 白银的过夜费是怎么算的 荣耀10 GT百度地图位置怎么分享给朋友 我的手机短信收到朋友的还款短信是怎么回事 现货白银过夜费 现货白银投资持仓过夜费怎么算 现货白银的持仓过夜费是多少 突然收到的还款短信? 现货白银里面隔夜费是什么意思? 牟在姓氏中怎么读?