Oracle中trunc、round 、ceil和floor函数的区别 |
您所在的位置:网站首页 › round和ceil的区别 › Oracle中trunc、round 、ceil和floor函数的区别 |
1、trunc函数
处理数值,对给定数值进行截取处理,不会对给定数值做四舍五入处理。
语法格式: TRUNC(number[,decimals])--number 待处理的数据,decimals指明需保留小数点后的位数,默认为0 如果参数为负数,则小数点往前取位数,如果负数位数大于或等于待处理数据位数,则返回0. selecttrunc(123.456)from dual;--123 selecttrunc(123.456,2)from dual;--123.45 selecttrunc(123.456,-1)from dual;--120 selecttrunc(123.456,-3)from dual;--0 处理日期,trunc函数以指定格式截取日期值。 语法格式: TRUNC(date,[fmt])--date为日期值,fmt可选参数,指定日期截取方式,默认截取最近日期。 selecttrunc(sysdate,'YY')from dual;--返回当年第一天,2018-1-1 selecttrunc(sysdate,'YYYY')from dual;--返回当年第一天,2018-1-1 selecttrunc(sysdate,'MM')from dual;--返回当月第一天,2018-2-1 selecttrunc(sysdate,'D')from dual;--返回本周第一天,2018-2-4 selecttrunc(sysdate,'DD')from dual;--返回当前年月日,2018-2-6 2、round 函数 按照给定条件对数值进行四舍五入处理。 语法格式: ROUND(number,[,decimals])--number,待处理的数值,decimals,小数点后保留的位数, 为负,则从小数点往前截取。 与trunc函数不同的是,round函数需要四舍五入。 selectround(123.456)from dual ; --123 selectround(123.456,1)from dual;--123.5 selectround(123.456,-1)from dual ; --120 3、ceil和floor函数 ceil函数与floor函数对给定数值取整。 语法格式: ceil(number)--取大于、等于数值number的最小整数 floor(number) --取小于、等于数值number的最大整数 selectfloor(123.456)from dual ; --123 selectceil(123.456)fromdual;--124 selectceil(-123.456)from dual ; ---123 selectfloor(-123.456)from dual ; ---124 ceil处理日期 selectceil((To_date('2018-2-6 16:50:55', 'yyyy-mm-dd hh24-mi-ss') - To_date('2018-2-6 14:55:24', 'yyyy-mm-dd hh24-mi-ss')) * 24 * 60 * 60) 秒数 from dual--6932 如果是24*60则精确到分钟。ceil(6932)->116'
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |