函数名称 | 函数说明 |
---|---|
ABS() | 返回数值表达式的绝对值 |
ACOS() | 返回数值表达式的反余弦值。如果参数未在[-1, 1]区间内,则返回 NULL |
ASIN() | 返回数值表达式的反正弦值。如果参数未在[-1, 1]区间内,则返回 NULL |
ATAN() | 返回数值表达式的反正切值 |
ATAN2() | 返回两个参数的反正切值 |
BIT_AND() | 返回表达式参数中的所有二进制位的按位与运算结果 |
BIT_COUNT() | 返回传入的二进制值的字符串形式 |
BIT_OR() | 返回表达式参数中的所有二进制位的按位或运算结果 |
CEIL() | 返回值为不小于传入数值表达式的最小整数值 |
CEILING() | 同CEIL() 返回值为不小于传入数值表达式的最小整数值 |
CONV() | 转换数值表达式的进制 |
COS() | 返回所传入数值表达式(以弧度计)的余弦值 |
COT() | 返回所传入数值表达式的余切值 |
DEGREES() | 将数值表达式参数从弧度值转变为角度值 |
EXP() | 返回以e(自然对数的底数)为底,以所传入的数值表达式为指数的幂 |
FLOOR() | 返回不大于所传入数值表达式的最大整数 |
FORMAT() | 将数值表达式参数四舍五入到一定的小数位 |
GREATEST() | 返回传入参数的最大值 |
INTERVAL() | 比较所传入的多个表达式:expr1 、expr2 、expr3 ……,如果 expr1 < expr2 ,则返回0;如果 expr1 < expr3 ,则返回1……以此类推 |
LEAST() | 返回传入参数中的最小值 |
LOG() | 返回传入数值表达式的自然对数 |
LOG10() | 返回传入数值表达式的常用对数(以10为底的对数) |
MOD() | 返回参数相除的余数 |
OCT() | 返回传入数值表达式的八进制数值的字符串表现形式。如果传入值为 NULL,则返回 NULL |
PI() | 返回 π 值 |
POW() | 返回两个参数的幂运算结果,其中一个参数为底,另一个参数为它的指数。 |
POWER() | 返回两个参数的幂运算结果,其中一个参数为底,另一个参数为它的指数。 |
RADIANS() | 将参数由角度值转换成弧度值 |
ROUND() | 将所传入数值表达式四舍五入为整数。也可以用来将参数四舍五入到一定的小数位 |
SIN() | 返回参数(以弧度计)的正弦值 |
SQRT() | 返回参数的非负平方根 |
STD() | 返回参数的标准方差值 |
STDDEV() | 返回参数的标准方差值 |
TAN() | 返回参数(以弧度计)的正切值 |
TRUNCATE() | 将数值参数 expr1 的小数位截取到 expr2 位如果 expr2 为0,则结果没有小数位。 |
ABS(X)
返回参数 X 的绝对值。如下例所示:
mysql> SELECT ABS(2); +---------------------------------------------------------+ | ABS(2) | +---------------------------------------------------------+ | 2 | +---------------------------------------------------------+ 1 row in set (0.00 sec) mysql> SELECT ABS(-2); +---------------------------------------------------------+ | ABS(2) | +---------------------------------------------------------+ | 2 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
ACOS(X)
返回参数 X 的反余弦值。参数 X 的取值区间为 [-1, 1],如果不在该区间内,则返回 NULL 值。实例如下:
mysql> SELECT ACOS(1); +---------------------------------------------------------+ | ACOS(1) | +---------------------------------------------------------+ | 0.000000 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
ASIN(X)
返回参数 X 的反正弦值。参数 X 的取值区间为 [-1, 1],如果不在该区间内,则返回 NULL 值。实例如下:
mysql> SELECT ASIN(1); +---------------------------------------------------------+ | ASIN(1) | +---------------------------------------------------------+ | 1.5707963267949 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
ATAN(X)
返回参数 X 的反正切值。
mysql> SELECT ATAN(1); +---------------------------------------------------------+ | ATAN(1) | +---------------------------------------------------------+ | 0.78539816339745 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
ATAN2(Y,X)
返回两个参数 X 与 Y 的反正切值,类似于 Y/X 的反正切值,但两个参数的符号是用来确定所得结果的象限的。
mysql> SELECT ATAN2(3,6); +---------------------------------------------------------+ | ATAN2(3,6) | +---------------------------------------------------------+ | 0.46364760900081 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
BIT_AND(expression)
返回表达式参数 expression 中的所有二进制位的按位与运算结果。按位与运算的规则是这样的:如果两个同等位都是同样值(0或1),则返回1,否则返回0。函数本身返回的是一个64位的整形值,如果没有匹配项,则返回18446744073709551615。在下面的示例中,对表 CARS 按照Maker 字段进行分组, 然后再对 PRICE(价格)字段执行 BIT_AND() 函数。
mysql> SELECT MAKER, BIT_AND(PRICE) BITS FROM CARS GROUP BY MAKER +---------------------------------------------------------+ |MAKER BITS | +---------------------------------------------------------+ |CHRYSLER 512 | |FORD 12488 | |HONDA 2144 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
BIT_COUNT(numeric_value)
该函数会将参数 numeric_value 转化成二进制数,然后再返回这个二进制数中1的个数。下例展示了如何对一些数使用BIT_COUNT() 函数。
mysql> SELECT BIT_COUNT(2) AS TWO, BIT_COUNT(4) AS FOUR, BIT_COUNT(7) AS SEVEN +-----+------+-------+ | TWO | FOUR | SEVEN | +-----+------+-------+ | 1 | 1 | 3 | +-----+------+-------+ 1 row in set (0.00 sec)
BIT_OR(expression)
按位或运算函数。返回表达式参数 expression 中所有位的按位或运算结果。其中的基本原理是:如果相对应的位匹配(就是相同的意思,同为0或1),则返回0,否则返回1。函数本身返回的是一个64位的整形数值,如果记录并不匹配,则返回0。下例将对对 CARS 表按照 Maker 分组,然后对 PRICE 字段执行 BIT_OR() 函数。
mysql> SELECT MAKER, BIT_OR(PRICE) BITS FROM CARS GROUP BY MAKER +---------------------------------------------------------+ |MAKER BITS | +---------------------------------------------------------+ |CHRYSLER 62293 | |FORD 16127 | |HONDA 32766 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
CEIL(X) 与 CEILING(X)
返回不小于 X 的最小整型值。示例如下:
mysql> SELECT CEILING(3.46); +---------------------------------------------------------+ | CEILING(3.46) | +---------------------------------------------------------+ | 4 | +---------------------------------------------------------+ 1 row in set (0.00 sec) mysql> SELECT CEIL(-6.43); +---------------------------------------------------------+ | CEIL(-6.43) | +---------------------------------------------------------+ | -6 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
CONV(N,from_base,to_base)
该函数用于在不同进制间转换数值。将数值 N 从 初始进制参数 from_base 转换为目标进制参数 to_base,然后以字符串的形式返回。该函数可使用的进制范围为2-36。如果函数参数中有一个为 NULL 值,则函数返回 NULL。下例中,将16进制数5转换为了2进制数101。
mysql> SELECT CONV(5,16,2); +---------------------------------------------------------+ | CONV(5,16,2) | +---------------------------------------------------------+ | 101 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
COS(X)
以弧度值形式返回 X 的余弦值。示例如下:
mysql>SELECT COS(90); +---------------------------------------------------------+ | COS(90) | +---------------------------------------------------------+ | -0.44807361612917 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
COT(X)
返回 X 的余切值。示例如下:
mysql>SELECT COT(1); +---------------------------------------------------------+ | COT(1) | +---------------------------------------------------------+ | 0.64209261593433 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
DEGREES(X)
将 X 从弧度值转换为角度值。示例如下:
mysql>SELECT DEGREES(PI()); +---------------------------------------------------------+ | DEGREES(PI()) | +---------------------------------------------------------+ | 180.000000 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
EXP(X)
返回 e(自然对数的底数)的 X 次幂。示例如下:
mysql>SELECT EXP(3); +---------------------------------------------------------+ | EXP(3) | +---------------------------------------------------------+ | 20.085537 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
FLOOR(X)
返回不大于 X 的最大整形数值。
mysql>SELECT FLOOR(7.55); +---------------------------------------------------------+ | FLOOR(7.55) | +---------------------------------------------------------+ | 7 | +---------------------------------------------------------+ 1 row in set (0.00 sec) FORMAT(X,D) 将数值 X 以下列格式进行格式化:###,###,###.##,并将小数位缩减到 D 位。示例如下: mysql>SELECT FORMAT(423423234.65434453,2); +---------------------------------------------------------+ | FORMAT(423423234.65434453,2) | +---------------------------------------------------------+ | 423,423,234.65 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
GREATEST(n1,n2,n3,..........)
返回 n1、n2、n3等一系列参数中的最大值。示例如下:
mysql>SELECT GREATEST(3,5,1,8,33,99,34,55,67,43); +---------------------------------------------------------+ | GREATEST(3,5,1,8,33,99,34,55,67,43) | +---------------------------------------------------------+ | 99 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
INTERVAL(N,N1,N2,N3,..........)
将第一个参数 N 与后续的一列参数 N1、N2、N3 等一一进行比对。返回结果规则为:如果N < N1,返回0;如果 N < N2,则返回1;如果N < N3则返回2……以此类推。如果N为NULL,则返回-1。参数列表 N1、N2、N3……必须满足N1 < N2 < N3……才能正常执行本函数。示例如下:
mysql>SELECT INTERVAL(6,1,2,3,4,5,6,7,8,9,10); +---------------------------------------------------------+ | INTERVAL(6,1,2,3,4,5,6,7,8,9,10) | +---------------------------------------------------------+ | 6 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
注意,6是在后续参数列表中,第一个大于 N 的值所对应的索引(参数列表的初始索引为0)。所以,在我们这个例子中,7正是这个大于 N 的值,它的索引却是6。
LEAST(N1,N2,N3,N4,......)
该函数是 GREATEST() 函数的逆向函数,返回 N1、N2、N3、N4 等值的最小值。示例如下:
mysql>SELECT LEAST(3,5,1,8,33,99,34,55,67,43); +---------------------------------------------------------+ | LEAST(3,5,1,8,33,99,34,55,67,43) | +---------------------------------------------------------+ | 1 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
LOG(X) 与 LOG(B,X)
单参数 X 版本的函数返回 X 的自然对数。双参数版本的函数将返回以 B 为底 X 的对数。示例如下:
mysql>SELECT LOG(45); +---------------------------------------------------------+ | LOG(45) | +---------------------------------------------------------+ | 3.806662 | +---------------------------------------------------------+ 1 row in set (0.00 sec) mysql>SELECT LOG(2,65536); +---------------------------------------------------------+ | LOG(2,65536) | +---------------------------------------------------------+ | 16.000000 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
LOG10(X)
返回以10为底的 X 的对数(即常用对数lg)。
mysql>SELECT LOG10(100); +---------------------------------------------------------+ | LOG10(100) | +---------------------------------------------------------+ | 2.000000 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
MOD(N,M)
返回 N 除以 M 的余数。示例如下:
mysql>SELECT MOD(29,3); +---------------------------------------------------------+ | MOD(29,3) | +---------------------------------------------------------+ | 2 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
OCT(N)
以字符串形式返回八进制数 N,作用相当于 CONV(N,10,8)。示例如下:
mysql>SELECT OCT(12); +---------------------------------------------------------+ | OCT(12) | +---------------------------------------------------------+ | 14 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
PI()
返回 π 值。MySQL 所存储的 π 值为双精度浮点值。
mysql>SELECT PI(); +---------------------------------------------------------+ | PI() | +---------------------------------------------------------+ | 3.141593 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
POW(X,Y) 与POWER(X,Y)
这两个函数都能返回 X 的 Y 次幂。示例如下:
mysql> SELECT POWER(3,3); +---------------------------------------------------------+ | POWER(3,3) | +---------------------------------------------------------+ | 27 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
RADIANS(X)
将角度值 X 转换成弧度值返回。示例如下:
mysql>SELECT RADIANS(90); +---------------------------------------------------------+ | RADIANS(90) | +---------------------------------------------------------+ |1.570796 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
ROUND(X) 与 ROUND(X,D)
将 X 四舍五入,返回最接近 X 的整数。如果传入第二个参数 D,则函数会将 X 四舍五入到 小数点后的 D 位。D 必须为正值,否则小数点后所有数值都将被清除。示例如下:
mysql>SELECT ROUND(5.693893); +---------------------------------------------------------+ | ROUND(5.693893) | +---------------------------------------------------------+ | 6 | +---------------------------------------------------------+ 1 row in set (0.00 sec) mysql>SELECT ROUND(5.693893,2); +---------------------------------------------------------+ | ROUND(5.693893,2) | +---------------------------------------------------------+ | 5.69 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
SIGN(X)
返回 X 的符号(表明 X 究竟是负数、0还是正数的符号):-1、0、1。
mysql>SELECT SIGN(-4.65); +---------------------------------------------------------+ | SIGN(-4.65) | +---------------------------------------------------------+ | -1 | +---------------------------------------------------------+ 1 row in set (0.00 sec) mysql>SELECT SIGN(0); +---------------------------------------------------------+ | SIGN(0) | +---------------------------------------------------------+ | 0 | +---------------------------------------------------------+ 1 row in set (0.00 sec) mysql>SELECT SIGN(4.65); +---------------------------------------------------------+ | SIGN(4.65) | +---------------------------------------------------------+ | 1 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
SIN(X)
返回 X 的正弦值。示例如下:
mysql>SELECT SIN(90); +---------------------------------------------------------+ | SIN(90) | +---------------------------------------------------------+ | 0.893997 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
SQRT(X)
返回 X 的非负数平方根。示例如下:
mysql>SELECT SQRT(49); +---------------------------------------------------------+ | SQRT(49) | +---------------------------------------------------------+ | 7 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
STD(expression) 与 STDDEV(expression)
返回表达式 expression 的标准偏差值。等于取 VARIANCE(expression) 的平方根。以下范例计算 CARS 表中 PRICE 列的标准偏差。
mysql>SELECT STD(PRICE) STD_DEVIATION FROM CARS; +---------------------------------------------------------+ | STD_DEVIATION | +---------------------------------------------------------+ | 7650.2146 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
TAN(X)
返回参数 X (以弧度表示)的正切值。示例如下:
mysql>SELECT TAN(45); +---------------------------------------------------------+ | TAN(45) | +---------------------------------------------------------+ | 1.619775 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
TRUNCATE(X,D)
X 值的小数位被截取到 D 位。如果 D 为0,则 X 无小数位。如果 D 为负值,则将把 X 整数部分末位 D 位数值清除为0。以上运算均为清除,非四舍五入。示例如下:
mysql>SELECT TRUNCATE(7.536432,2); +---------------------------------------------------------+ | TRUNCATE(7.536432,2) | +---------------------------------------------------------+ | 7.53 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
感觉本站内容不错,读后有收获?小额赞助,鼓励网站分享出更好的教程