Ref:
https://blog.csdn.net/tayanxunhua/article/details/9258029
https://www.cnblogs.com/linjiao/p/6394087.html
round(x[,y])
截取数字
格式如下:ROUND(number[,decimals])
其中:number 待做截取处理的数值
decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分,并四舍五入。
如果为负数则表示从小数点开始左边的位数,相应整数数字用0填充,小数被去掉。
需要注意的是,和trunc函数不同,对截取的数字要四舍五入。
【功能】返回四舍五入后的值
【参数】x,y,数字型表达式, 如果y不为整数则截取y整数部分,如果y>0则四舍五入为y位小数,如果y小于0则四舍五入到小数点向左第y位。
【返回】数字
【示例】
select round(5555.6666, 2.1), round(5555.6666, -2.6), round(5555.6666) from dual;
返回: 5555.67, 5600, 5556
【相近】trunc(x[,y]) 返回截取后的值,用法同round(x[,y]),只是不四舍五入
trunc(x[,y])
TRUNC():类似截取函数,按指定的格式截取输入的数据。
TRUNC函数返回以指定元素格式截去一部分的日期值。
【功能】返回x按精度y截取后的值
【参数】x, y,数字型表达式, 如果y不为整数则截取y整数部分,如果y>0则截取到y位小数,如果y小于0则截取到小数点向左第y位,小数前其它数据用0表示。
【返回】数字
1.【trunc(for dates)】TRUNC()函数处理日期
语法格式:TRUNC(date[,fmt])
其中:date 一个日期值;fmt 日期格式。
该日期将按指定的日期格式截取;忽略它则由最近的日期截取。
示例:
select trunc(sysdate) from dual;--2017/2/13,返回当前时间
select trunc(sysdate,'yy') from dual;--2017/1/1,返回当年第一天
select trunc(sysdate,'mm') from dual;--2017/2/1,返回当月的第一天
select trunc(sysdate,'d') from dual;--2017/2/12,返回当前星期的第一天,即星期天
select trunc(sysdate,'dd') from dual;--2017/2/13,返回当前日期,今天是2017/2/13
select trunc(sysdate ,'HH24') from dual;--2017/2/13 15:00:00,返回本小时的开始时间
select trunc(sysdate ,'MI') from dual;--2017/2/13 15:13:00,返回本分钟的开始时间
2.【TRUNC(for number)】TRUNC()函数处理number型数字
语法格式:TRUNC(number[,decimals])
其中: number 待做截取处理的数值;decimals指明需保留小数点后面的位数,可选项,忽略它则截去所有的小数部分。
注意:截取时并不对数据进行四舍五入。
示例:
select trunc(123.567, 2) from dual;--123.56,将小数点右边指定位数后面的截去;
select trunc(123.567, -2) from dual;--100,第二个参数可以为负数,表示将小数点左边指定位数后面的部分截去,即均以0记;
select trunc(123.567) from dual;--123,默认截去小数点后面的部分;
【示例】 select trunc(5555.66666, 2.1), trunc(5555.66666, -2.6), trunc(5555.033333) from dual;
返回:5555.66 5500 5555
【相近】round(x[,y]) 返回截取后的值,用法同trunc(x[,y]),只是要做四舍五入
网友评论