精华内容
下载资源
问答
  • Oracle中保留两位小数

    万次阅读 多人点赞 2017-06-02 08:23:47
    在最近的项目开发中,有个业务需求是界面显示的数字需要保留两位小数,目前我想到的解决方法有两种: (1)在写SQL的时候,直接保留两位小数 (2)在java代码里面将查询出来的数进行格式化处理,保留两位小数 先...

    在最近的项目开发中,有个业务需求是界面显示的数字需要保留两位小数,目前我想到的解决方法有两种:
    (1)在写SQL的时候,直接保留两位小数
    (2)在java代码里面将查询出来的数进行格式化处理,保留两位小数
    先说第一种方案:在SQL中的处理
    我使用的oracle数据库,所以有3个函数可以选择,分别是:
    (1)ROUND(A/B,2)
    ROUND()函数是会将计算结果进行四舍五入的,如果所需要的值需要进行四舍五入,就可以选择这个函数,可以有一个参数,也可以有两个参数;如果有两个param,第一个是你的计算表达式,第二个是需要保留的小数位数。例子如下:
    这里写图片描述
    (2)TRUNC(A/B,2)
    TRUNC()函数是不会将计算结果进行四舍五入的,如果所需要的值不需要进行四舍五入,就可以选择这个函数,可以有一个参数,也可以有两个参数;如果有两个param,第一个是你的计算表达式,第二个是需要保留的小数位数。例子如下:
    这里写图片描述
    (3)TO_CHAR(A/B,‘FM99990.99’)
    TO_CHAR()是一个格式化函数,第一个参数是计算表达式,第二个参数是指定格式化的格式,如果保留两位小数则小数点后写两个99,这里的数字9代表的数字,也是一个占位符,表示该位置上以后会是一个数字,为什么小数点前面会是一个0,而不是9,是因为如果计算结果小于1,那么只会显示小数点和小数点之后的部分,前面的0会忽略掉
    这里写图片描述
    这里写图片描述


    2019年7月25日更新

    在评论中有人提到一个问题,在SQL计算中,比如1/10的结果是0.1,但是实际需要得到的结果是0.10,那么用我上面的那些方法得到的结果只可以是0.1,不可以是0.10,对于这个问题,我去oracle官网的文档查看了一下,可以采用如下的写法得到:

    select to_char(a/b,'FM9990.00') AS result  from dual;
    

    这里就是需要注意的一点就是0和9的区别,具体我没找到相关的信息,暂时说一下我的想法,0和9应该都是类似于占位符,你实际除得的结果中的数字一般会替换掉9,但是当你整数部分只有一位且是0的时候,那么你需要在格式化的时候用0来指定格式化的模型,如上文那个.67的样子,小数点后面的值,你可以用0也可以用9来指定模式,用9指定的结果就是你的小数点本来后面几位它就显示几位,如果用0来指代,它在位数不够的情况下会用0去进行占位填充。

    格式化官方文档oracle 10g

    oracle format models

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • oracle截取两位小数

    千次阅读 2016-11-14 16:49:48
    1、round('123.125',2)小数可以四舍五入 得到结果为 123.13 2、trunc('123.125',2)不可以四舍五入 得到的结果为 123.12

    1、round('123.125',2)小数位可以四舍五入   得到结果为  123.13

    2、trunc('123.125',2)不可以四舍五入   得到的结果为  123.12

    展开全文
  • 公司需要处理一些报表,需要使用百分率,保留2小数,只用round和trunc函数都可以实现(round(_data,2) ),只是格式不是很工整,对格式要求不严谨的情况下使用round即可
  • ORACLE 查询数据 保留两位小数

    千次阅读 2015-12-15 09:34:36
    ORACLE 查询数据 保留两位小数

    微博:https://weibo.com/6274976536/profile?rightmod=1&wvr=6&mod=personinfo&is_all=1

    select  decode(fdj,0,'0.00',to_char(trunc(fdj,2),999999999.99)) fdj,fmoney from t_table

    解析:

    to_char(trunc(fdj,2),999999999.99)  保留两位小数,但如果fdj = 0 时,会显示 .00。

    所以需使用 decode 语句判断 ,如果fdj = 0,显示‘0.00’;否则 显示 to_char(trunc(fdj,2),999999999.99)


    展开全文
  • oracle当中怎么保留两位小数

    千次阅读 2021-03-31 10:39:00
    1、round保留两位 round:四舍五入(最多保留两位,没有小数的时候不展示) select round(66.667,2) N1 from dual; 2、trunc保留两位 trunc:直接截断(最多保留两位,没有小数的时候不展示) select trunc(66.667...

    1、round保留两位

    round:四舍五入(最多保留两位,没有小数的时候不展示)

     select round(66.667,2) N1 from dual; 
    

    在这里插入图片描述

    2、trunc保留两位

    trunc:直接截断(最多保留两位,没有小数的时候不展示)

    select trunc(66.667,2) N2 from dual; 
    

    在这里插入图片描述

    3、始终保留两位

    不管有没有小数都是保留两位,替换0.8即可使用。

    select to_char(round(0.8,2),'fm99999999999990.00') from dual 
    

    在这里插入图片描述

    展开全文
  • Oracle 保留两位小数解决方案

    万次阅读 2015-04-17 14:19:24
    解决方式,将小数点的第一位置设为零即可,如下: select decode(salary,0,'0.00',(to_char(round(salary,2),'fm99999999999990.00'))) from can_do; 注:FM只能去掉用9表示的格式中产生的0   方法...
  • oracle sql 取小数点后两位

    千次阅读 2017-10-19 10:06:13
    oracle sql 取小数点后两位
  • Oracle函数保留两位小数

    万次阅读 2018-02-26 14:15:06
    Oracle数据库,有3个函数可以选择,分别是: ROUND(A/B,2) ROUND()函数是会将计算结果进行四舍五入的,如果所需要的值需要进行四舍五入,就可以选择这个函数,可以有一个参数,也可以有个参数;如果有个param...
  • 1、  ROUND() 函数 :用于把数值字段舍入为指定的小数位数。 2、 ... to_char()函数:转化数字型指定小数点位数的用法/*...延伸::::::::Oracle的Trunc()和round() 函数 语法 TRUNC(number,[num_dig
  • 保留两位小数主要分为两种情况: 1.数字保留两位小数;(小数点左侧数字可能比较大,比如1234567890.12) 2.百分比保留两位小数;(小数点左侧数字数字小于等于100,比如98.76%)现针对Oracle数据库做以下示例:在...
  • Oracle查询保留两位小数

    千次阅读 2014-02-26 17:57:41
    使用TO_CHAR的方式,有个弊端,也是需要注意的地方: 1>整数部分的9要写的足够多,否则会错误显示,如下: 错误:SELECT TO_CHAR(199999999.1256,'9,999.99') FROM DUAL --显示结果:######### 正确:SELECT ...
  • 四舍五入保留两位小数,如果是整数小数点后补两个0
  • Oracle字段保留2两位小数点number类型

    万次阅读 2017-10-25 15:11:16
    *问题背景*:昨天调阿里发票平台的申请发票接口时发生了一个异常,原因是发票金额至少保留两位小数,我查了下记录,确实表中的记录为600,所以查出来的数据不会带小数点。 由于用的oracle,我查了下字段是否能像mysql...
  • 但有时候 我们不需要那么精确,例如,只精确到两位有效数字。 二、解决: 1. 使用 Round() 函数,如 Round(@num,2) ,其中参数 2 表示 保留两位有效数字。 缺点:Round() 只是负责四舍五入到两位小数,但是不负责...
  • oracle 取小数点后两位

    千次阅读 2019-07-09 10:52:00
    转载于:https://my.oschina.net/u/3847203/blog/3071403
  • TO_CHAR()是一个格式化函数,第一个参数是计算表达式,第二个参数是指定格式化的格式,如果保留两位小数则小数点后写两个99,这里的数字9代表的数字,也是一个占位符,表示该位置上以后会是一个数字,为什么小数点...
  • oracle:sql保留两位小数方法

    千次阅读 2018-10-11 15:35:46
    select to_char(90.99,'fm999.0')保留一小数,to_char(90.99,'fm999.00')保留2小数 from dual  结果为:91.0/90.99 3,如果用fm9.99 整数仍然会显示.,如果不需要需要替换 select to_char(9,'fm99.99'),...
  • lpad(字段名,填充长度,填充的字符) 是用来在指定字段左侧填充字符, 比如select lpad('3',2,0) from dual; 就是在 3 这个基础上左侧补 0,一共是2, 结果为 03
  • oracle两数相除,保留两位小数

    万次阅读 2016-03-30 14:50:58
    select round(a/b,2) from dual; or select to_char(a/b,'fm9999999.99') from dual;
  • Oracle中,利用sql语句中的函数实现保留两位小数和四舍五入保留两位小数; select trunc(1.23856789,2) from dual round(m,n) 可以四舍五入 trunc(m,n) 直接丢弃,不四舍五入
  • 需要小数点后保留两位小数,包括0这种情况,同时保持是number类型,因为需要排序 可以使用to_char()函数,例如:select to_char(data,'9999999990.99') from dual, 注意model是‘9999999990.99’ ,小数点前面还有...
  • 今天做个模块,要显示两位小数。decode(a.JSFL,0,'0.00',decode(trunc(a.JSFL),0,to_char(a.JSFL,'0.99'),(trunc(a.JSFL,2))))。如果单纯的用trunc或者to_char()的格式,要么显示0.00有问题,要么显示0.98有问题。...
  • Oracle保留小数点后两位的几种方法

    千次阅读 2017-11-13 22:08:00
    有时候在做数据处理的时候,在前台页面上显示的数字需要保留小数点的后两位,不足两位的用0代替,这个时候就需要对数据做一些处理了。如果只用round(value,2)(四舍五入)和trunc(value,2)(不四舍五入)这两个函数...
  • Oracle 将不足两位小数的自动补0

    千次阅读 2017-09-13 08:26:00
    2019独角兽企业重金招聘Python工程师标准>>> ...
  • Oracle 之 PLSQL连接64位Oracle

    千次阅读 2013-12-04 18:02:05
    引言: 64环境上的Oracle是64的,32的PLSQL无法加载64的oci.dll,所以,32的PLSQL必然无法直接操作Oracle数据库,但是我们可以通过 安装32Oracle Client 并进行相关配置之后 达到目的,一起看一下吧~~...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 131,878
精华内容 52,751
关键字:

oracle前两位