ROUND 函数用于把数值字段舍入为指定的小数位数,我来为大家讲解一下关于mysql数据库中的四种函数?跟着小编一起来看一看吧!
mysql数据库中的四种函数
ROUND() 函数ROUND 函数用于把数值字段舍入为指定的小数位数。
mysql中语法(四舍五入):
ROUND(column_name,decimals)
#column_name: 必需。要舍入的字段。
#decimals:可选。规定要返回的小数位数,不填时默认取整数。
案例:
select round (1.56) ===> 2
select round (1.46) ===> 1
select round (1.56,1) ===> 1.6
sql中语法:
ROUND ( e-xpression , length [ , function ] )
#e-xpression:必需。要舍入的字段。
# length:
当 length 为正数时,e-xpression 四舍五入为 length 所指定的小数位数。
当 length 为负数时,e-xpression 则按 length 所指定的在小数点的左边四舍五入。
#function:function是要执行的操作类型。如果省略 function 或 function 的值为 0(默认),e-xpression 将四舍五入。当指定 0 以外的值时,将截断 e-xpression。
注释ROUND 始终返回一个值。如果 length 是负数且大于小数点前的数字个数,ROUND 将返回 0。
案例:
select round (1.56,1) ===> 1.6
select round (11.56,-1) ===> 10
select round (11.56,1,0) ===> 1.6
select round (11.56,1,1) ===> 1.5
ceil()函数mysql: ceil(value)
sql: ceiling(value)
函数返回大于等于指定值(value)的最小整数,取整,没有四舍五入这一说法(向上取整,返回>=该参数的最小整数)
案例:
select ceil(1.56)===> 2
select ceil(-1.56)===> -1
floor()函数floor(value)
函数返回小于或等于指定值(value)的最小整数,取整,没有四舍五入这一说法(向下取整,返回<=该参数的最大整数)
案例:
select floor(1.56)===> 1
select floor(-1.56)===> -2
truncate()函数#SQL中无此数学函数(SQL中此函数用来清空表数据)
TRUNCATE(X,D)
其中,X是数值,D是保留小数的位数。
其作用就是按照小数位数,进行数值截取(此处的截取是按保留位数直接进行截取,没有四舍五入)。
数值保留规则
规则如下:
1)当 D 大于0,是对数值 X 的小数位数进行操作;
2)当 D 等于0,是将数值 X 的小数部分去除,只保留整数部分;
3)当 D 小于0,是将数值 X 的小数部分去除,并将整数部分按照 D 指定位数,用 0 替换。
案例:
SELECT TRUNCATE(123.4567, 3); ===> 123.456
SELECT TRUNCATE(123.4567, 2); ===> 123.45
SELECT TRUNCATE(123.4567, 1); ===> 123.4
SELECT TRUNCATE(123.4567, 0); ===> 123
SELECT TRUNCATE(123.4567, -1); ===> 120
SELECT TRUNCATE(123.4567, -2); ===> 100
SELECT TRUNCATE(123.4567, -3); ===> 0
mod()函数mod(x,y)
返回 x 被 y 除后的余数
#SQL中无此数学函数(SQL中此函数用来清空表数据),使用%来取余 例如:5%2 =1
可以用下述公式理解(尤其当x,y 为负数时)
mod(x,y) : x-x/y*y
例:mod(-10,-3) :( -10)-(-10)/(-3)*(-3)=(-10)-(3)*(-3)=(-10)-(-9)=-1
案例:
mod(5,2) ===> 1
mod(5.36,2) ===> 1.36
mod(-10,-3)===> -1
mod(-10,3)===> -1
mod(10,-3)===> 1
,