从品牌网站建设到网络营销策划,从策略到执行的一站式服务
方法一:使用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级,不建议使用该方法。
-- 使用 to_char 函数转换,转换为字符串
select to_char(9.87552, 'fm9999999.00') from dual;
-- 四舍五入
select round(9.552, 2) from dual;
select round(a/b,2) from table where c='T';
以上SLQ语句为,
从表table中查询符合c字段值为‘T’的值,
并将值a除以b,得到的结果如果包含小数,则保留两位小数点。
函数round(x[,y])介绍:
【功能】返回四舍五入后的值
【参数】x,y,数字型表达式,如果y不为整数则截取y整数部分,如果y0则四舍五入为y位小数,如果y小于0则四舍五入到小数点向左第y位。
【返回】数字
与此函数相近的函数是trunc(x[,y]) ,返回截取后的值,用法同round(x[,y]),只是不四舍五入
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图