MySQL数据库中提供了很丰富的函数。MySQL函数包括数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数、加密函数、格式化函数、聚合函数等。
数学函数
函数 | 作用 |
---|---|
ABS(x) | 返回x的绝对值 |
CEIL(x),CEILING(x) | 向上取整,返回大于或者等于x的最小整数 |
FLOOR(x) | 返回小于或者等于x的最大整数 |
RAND() | 返回0~1的随机数 |
RAND(x) | 返回0~1的随机数,x值相同时返回的随机数相同 |
SIGN(x) | 返回x的符号,x是负数、0、正数分别返回-1、0和1 |
PI() | 返回圆周率 |
TRUNCATE(x,y) | 返回数值x保留到小数点后y位的值 |
ROUND(x) | 四舍五入,返回离x最近的整数 |
ROUND(x,y) | 四舍五入,保留x小数点后y位的值,但截断时要进行四舍五入 |
POW(x,y),POWER(x,y) | 返回x的y次方 |
SQRT(x) | 返回x的平方根 |
EXP(x) | 返回e的x次方 |
MOD(x,y) | 返回x除以y以后的余数 |
LOG(x) | 返回自然对数(以e为底的对数) |
LOG10(x) | 返回以10为底的对数 |
示例:
ABS(x)
- 作用:返回x的绝对值
- 参数x:数值
---------
CEIL(x) 和 CEILING(x)
- 作用:向上取整
- 参数x:数值
SELECT CEIL(10.2),CEILING(10); #结果: 11,10
----------
FLOOR(x)
- 作用:向下取整
- 参数x:数值
SELECT FLOOR(10.6); #结果 :10
----------
RAND(x)
- 作用:返回0~1的随机数,x值相同时返回的随机数相同
- 参数x:无或者任意值(字符或者数值)
SELECT RAND('a'),RAND('a'); #结果:返回两个相同的随机数
----------
SIGN(x)
- 作用:返回x的符号,x是负数、0、正数分别返回-1、0和1
- 参数x:数值
SELECT SIGN(-10); #结果:-1
----------
PI()
- 作用:返回圆周率
- 参数x:无
---------
TRUNCATE(x,y)
- 作用:返回数值x保留到小数点后y位的值
- 参数xy:数值
----------
ROUND(x)
- 作用:四舍五入,返回离x最近的整数
- 参数x:数值
SELECT ROUND(10.51); #结果:11
从第一个小数开始四舍五入,取整数。
----------
ROUND(x,y)
- 作用:四舍五入,保留x小数点后y位的值
- 参数xy:数值
SELECT ROUND(10.525 , 2); #结果:10.53
从第3个小数开始四舍五入,保留两位小数。
----------
POW(x,y) 和 POWER(x,y)
- 作用:返回x的y次方
- 参数xy:数值
SELECT POW(10,2); #结果:100
10的2次方等于100
SQRT(x)
- 作用:返回x的平方根
- 参数x:数值
SELECT SQRT(4); #结果:2
4的平方根等于2
EXP(x)
- 作用:返回e的x次方
- 参数x:数值
SELECT EXP(0); #结果:1
e的0次方等于1
MOD(x,y)
- 作用:返回x除以y以后的余数
- 参数xy:数值
SELECT MOD(10,3); #结果:1
10%3 = 1
LOG(x)
- 作用:返回自然对数(以e为底的对数)
- 参数x:数值
SELECT LOG(1); #结果:0
e的0次方等于1
LOG10(x)
- 作用:返回以10为底的对数
- 参数x:数值
SELECT LOG10(100); #结果:2
10的2次方等于100
================
字符串函数
函数 | 作用 |
---|---|
CHAR_LENGTH(s) | 返回字符串s的字符长度(不考虑位数) |