Oracle的数值函数常用的就是Round(),Mod(),Trunc();
Round()函数,主要用作处理四舍五入,格式是:
Round( number, [ decimal_places ] ) ,
第一个参数是需要处理的数值,第二个参数是保留的小数点位数。
select round(15.369,2) res from dual; return 15.37;
这儿需要注意一下,就是如果要取得的小数位数的后一位也是大于等于5的同时要求的最后哪位刚好等于9,那么就会直接进二位,否则是进一位,就如下面面所示,结果是15.4和15.39;
select round(15.3954,2) res from dual; return 15.4;
select round(15.3854,2) res from dual; return 15.39;
这个函数的第一个参数也可以是负数,如:
select round(-123.456,2) res from dual; return -123.46
Mod()函数主要是取数值的余数或者模数,如:
select mod(10,3) res from dual;return 1;
select mod(10,4) res from dual;return 2;
显然第一个参数是被除数,第二个参数是除数,如果第一个参数小于第二个参数,那么返回第一个参数的值,如:
select mod(23,45) res from dual; return 23
Trunc()函数主要有连个功能,一个是针对日期格式的参数,一个是针对数值格式的参数,
针对日期格式的:
TRUNC(date[,fmt])
其中:
date 一个日期值
fmt 日期格式,该日期将由指定的元素格式所截去。忽略它则由最近的日期截去
针对数值格式的函数返回处理后的数值,其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去。
其具体的语法格式如下
TRUNC(number[,decimals])
其中:
number 待做截取处理的数值
decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分
例如:
select trunc(123.598,2) res from dual;return 123.59
select trunc(sysdate,'mm') res from dual;表示获取当月第一天,如:2011-2-1
select trunc(sysdate,'dd') res from dual;表示获取当天的值,如:2011-2-18
select trunc(sysdate,'yy') res from dual;表示获取本年度第一天,如:2011-1-1
附:寻找同行朋友一起交流
本人java群:144704532
Round()函数,主要用作处理四舍五入,格式是:
Round( number, [ decimal_places ] ) ,
第一个参数是需要处理的数值,第二个参数是保留的小数点位数。
select round(15.369,2) res from dual; return 15.37;
这儿需要注意一下,就是如果要取得的小数位数的后一位也是大于等于5的同时要求的最后哪位刚好等于9,那么就会直接进二位,否则是进一位,就如下面面所示,结果是15.4和15.39;
select round(15.3954,2) res from dual; return 15.4;
select round(15.3854,2) res from dual; return 15.39;
这个函数的第一个参数也可以是负数,如:
select round(-123.456,2) res from dual; return -123.46
Mod()函数主要是取数值的余数或者模数,如:
select mod(10,3) res from dual;return 1;
select mod(10,4) res from dual;return 2;
显然第一个参数是被除数,第二个参数是除数,如果第一个参数小于第二个参数,那么返回第一个参数的值,如:
select mod(23,45) res from dual; return 23
Trunc()函数主要有连个功能,一个是针对日期格式的参数,一个是针对数值格式的参数,
针对日期格式的:
TRUNC(date[,fmt])
其中:
date 一个日期值
fmt 日期格式,该日期将由指定的元素格式所截去。忽略它则由最近的日期截去
针对数值格式的函数返回处理后的数值,其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去。
其具体的语法格式如下
TRUNC(number[,decimals])
其中:
number 待做截取处理的数值
decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分
例如:
select trunc(123.598,2) res from dual;return 123.59
select trunc(sysdate,'mm') res from dual;表示获取当月第一天,如:2011-2-1
select trunc(sysdate,'dd') res from dual;表示获取当天的值,如:2011-2-18
select trunc(sysdate,'yy') res from dual;表示获取本年度第一天,如:2011-1-1
附:寻找同行朋友一起交流
本人java群:144704532