当前位置: 代码迷 >> 综合 >> 四舍五入,保留N位小数
  详细解决方案

四舍五入,保留N位小数

热度:70   发布时间:2023-12-22 15:29:41.0

--四舍五入,保留N位小数
SELECT cast(round((WOV.LAST_UNIT_COMPLETION_DATE-WOV.FIRST_UNIT_START_DATE)*24,1) as numeric(10,1)),
       WOV.LAST_UNIT_COMPLETION_DATE,WOV.FIRST_UNIT_START_DATE 
  FROM WIP_OPERATIONS_V WOV
SELECT cast(round(122.5255,2)   as   numeric(5,2))
  FROM dual; --结果:122.53
SELECT round(122.5255,2) 
  FROM dual;--结果:122.53
  
SELECT cast(round(122,2)   as   numeric(5,2))
  FROM dual;

SELECT CAST(122.123   as   numeric(10,2))
  FROM dual;

 

SQL数值四舍五入小数点后保留2位
 
1.round() 函数是四舍五入用,第一个参数是我们要被操作的数据,第二个参数是设置我们四舍五入之后小数点后显示几位。
2.numeric 函数的2个参数,第一个表示数据长度,第二个参数表示小数点后位数。
例如:  www.2cto.com  
  select   cast(round(12.5,2)   as   numeric(5,2))  结果:12.50
  select   cast(round(12.555,2)   as   numeric(5,2))  结果:12.56
  select   cast(round(122.5255,2)   as   numeric(5,2)) 结果:122.53
  select   cast(round(1222.5255,2)   as   numeric(5,2)) 结果:报错了! 原因是:1222.5255,整数位是4,小数位是2,加起来4+2=6,超出了numeric设置的5位,所以为了保险,可以增减numeric的参数,例如numeric(20,2)。

  相关解决方案