ROUND 函数用于把数值字段舍入为指定的小数位数,我来为大家讲解一下关于mysql数据库中的四种函数?跟着小编一起来看一看吧!

mysql数据库中的四种函数(MySql学习笔记05常用函数)

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

,