MySQL函数
MySQL的内置函数分为两类:单行函数和聚合函数
单行函数
- 操作数据对象
- 接受参数返回一个结果
- 只对一行进行变换
- 每行返回一个结果
- 可以嵌套
- 参数可以是一列或一个值
单行函数分类:
数值函数
1. 基本函数
函数名 | 函数的功能 |
---|---|
ABS(x) | 返回x的绝对值 |
SIGN(x) | 返回x的符号。正数返回1,负数返回-1,0返回0 |
PI() | 返回圆周率的值 |
CEIL(x),CEILING(x) | 返回大于或等于某个值的最小整数 |
FLOOR(x) | 返回小于或等于某个值的最大整数 |
LEAST(e1,e2,e3…) | 返回列表中的最小值 |
GREATEST(e1,e2,e3…) | 返回列表中的最大值 |
MOD(x,y) | 返回x除以y后的余数 |
RAND() | 返回0~1的随机数 |
RAND(x) | 返回0~1的随机值,其中x的值用作种子值,相同的x值会产生相同的随机数 |
ROUND(x) | 返回一个对x的值进行四舍五入后,最接近于x的整数 |
ROUND(x,y) | 返回一个对x的值进行四舍五入后最接近x的值,并保留到小数点后面Y位 |
TRUNCATE(x,y) | 返回数字x截断为y位小数的结果 |
SQRT(x) | 返回x的平方根。当x的值为负数时,返回NULL |
举例
SELECT ABS(-123),ABS(32),SIGN(-23),SIGN(43),PI(),CEIL(32.32),CEILING(-43.23),FLOOR(32.32),
FLOOR(-43.23),MOD(12,5),12 MOD 5,12 % 5 FROM DUAL;
结果集:123 32 -1 1 3.141593 33 -43 32 -44 2 2 2
SELECT RAND(),RAND(),RAND(10),RAND(10),RAND(-1),RAND(-1) FROM DUAL;
结果集:
RAND() RAND() RAND(10) RAND(10) RAND(-1) RAND(-1)
0.0624432583 0.214545279 0.657051522 0.657051522 0.905037322 0.905037322
2.四舍五入函数
举例:
SELECT ROUND(123.556),ROUND(123.456,0),ROUND(123.456,1),ROUND(123.456,2),
ROUND(123.456,-1),ROUND(153.456,-2)
FROM DUAL;
结果集:
ROUND(123.556) | ROUND(123.456,0) | ROUND(123.456,1) | ROUND(123.456,2) | ROUND(123.456,-1) | ROUND(153.456,-2) |
---|---|---|---|---|---|
124 | 123 | 123.5 | 123.46 | 120 | 200 |
3.截断函数 TRUNCATE(X,Y)
举例:
SELECT TRUNCATE(123.456,0),TRUNCATE(123.496,1),TRUNCATE(129.45,-1) FROM DUAL;
结果集:
TRUNCATE(123.456,0) | TRUNCATE(123.496,1) | TRUNCATE(129.45,-1) |
---|---|---|
123 | 123.4 | 120 |
4.单行函数可以嵌套
SELECT TRUNCATE(ROUND(123.456,2),2) FROM DUAL;
->123.46
5.角度与弧度的互换
函数 | 用法 |
---|---|
RADIANS(x) | 将角度转化为弧度,其中,参数x为角度值 |
DEGREES(x) | 将弧度转化为角度,其中,参数x为弧度值 |
SELECT RADIANS(30),RADIANS(45),RADIANS(180),RADIANS(90),DEGREES(2*PI()),DEGREES(RADIANS(60))
FROM DUAL;
RADIANS(30) | RADIANS(45) | RADIANS(180) | RADIANS(90) | DEGREES(2*PI()) | DEGREES(RADIANS(60)) |
---|---|---|---|---|---|
0.5235987755982988 | 0.7853981633974483 | 3.141592653589793 | 1.5707963267948966 | 360.0 | 59.99999999999999 |
6.三角函数
函数 | 用法 |
---|---|
SIN(x) | 返回x的正弦值,其中,参数x为弧度值 |
ASIN(x) | 返回x的反正弦值 arcsin(x) ,即获取正弦为x的值。如果x的值不在-1到1之间,则返回NULL |
COS(x) | 返回x的余弦值,其中,参数x为弧度值 |
ACOS(x) | 返回x的反余弦值 arccos(x) ,即获取余弦为x的值。如果x的值不在-1到1之间,则返回NULL |
TAN(x) | 返回x的正切值,其中,参数x为弧度值 |
ATAN(x) | 返回x的反正切值,即返回正切值为x的值 |
ATAN2(m,n) | 返回两个参数的反正切值 |
COT(x) | 返回x的余切值,其中,X为弧度值 |
7.指数和对数
函数 | 用法 |
---|---|
POW(x,y), POWER(x,y) | 返回x的y次方 |
EXP(x) | 返回e的X次方,其中e是一个常数,2.718281828459045 |
LN(x),LOG(x) | 返回以e为底的x的对数,当x& |