Mysql数学函数

xiaoxiao2026-08-09  7

所有的数学函数在一个出错的情况下返回NULL。   -   单目减。改变参数的符号。   mysql> select - 2;   注意,如果这个操作符与一个BIGINT使用,返回值是一个BIGINT!这意味着你应该避免在整数上使用-,那可能有值-2^63!   ABS(X)   返回X的绝对值。   mysql> select ABS(2);   -> 2   mysql> select ABS(-32);   -> 32   该功能可安全用于BIGINT值。   SIGN(X)   返回参数的符号,为-1、0或1,取决于X是否是负数、零或正数。   mysql> select SIGN(-32);   -> -1   mysql> select SIGN(0);   -> 0   mysql> select SIGN(234);   -> 1   MOD(N,M)       %   模 (类似C中的%操作符)。返回N被M除的余数。   mysql> select MOD(234, 10);   -> 4   mysql> select 253 % 7;   -> 1   mysql> select MOD(29,9);   -> 2   这个函数可安全用于BIGINT值。   FLOOR(X)   返回不大于X的最大整数值。   mysql> select FLOOR(1.23);   -> 1   mysql> select FLOOR(-1.23);   -> -2   注意返回值被变换为一个BIGINT!   CEILING(X)   返回不小于X的最小整数值。   mysql> select CEILING(1.23);   -> 2   mysql> select CEILING(-1.23);   -> -1   注意返回值被变换为一个BIGINT!   ROUND(X)   返回参数X的四舍五入的一个整数。   mysql> select ROUND(-1.23);   -> -1   mysql> select ROUND(-1.58);   -> -2   mysql> select ROUND(1.58);   -> 2   注意返回值被变换为一个BIGINT!   ROUND(X,D)   返回参数X的四舍五入的有D为小数的一个数字。如果D为0,结果将没有小数点或小数部分。   mysql> select ROUND(1.298, 1);   -> 1.3   mysql> select ROUND(1.298, 0);   -> 1   注意返回值被变换为一个BIGINT!   EXP(X)   返回值e(自然对数的底)的X次方。   mysql> select EXP(2);   -> 7.389056   mysql> select EXP(-2);   -> 0.135335   LOG(X)   返回X的自然对数。   mysql> select LOG(2);   -> 0.693147   mysql> select LOG(-2);   -> NULL   如果你想要一个数字X的任意底B的对数,使用公式LOG(X)/LOG(B)。   LOG10(X)   返回X的以10为底的对数。   mysql> select LOG10(2);   -> 0.301030   mysql> select LOG10(100);   -> 2.000000   mysql> select LOG10(-100);   -> NULL   POW(X,Y)       POWER(X,Y)   返回值X的Y次幂。   mysql> select POW(2,2);   -> 4.000000   mysql> select POW(2,-2);   -> 0.250000   SQRT(X)   返回非负数X的平方根。   mysql> select SQRT(4);   -> 2.000000   mysql> select SQRT(20);   -> 4.472136   PI()   返回PI的值(圆周率)。   mysql> select PI();   -> 3.141593   COS(X)   返回X的余弦, 在这里X以弧度给出。   mysql> select COS(PI());   -> -1.000000   SIN(X)   返回X的正弦值,在此X以弧度给出。   mysql> select SIN(PI());   -> 0.000000   TAN(X)   返回X的正切值,在此X以弧度给出。   mysql> select TAN(PI()+1);   -> 1.557408   ACOS(X)   返回X反余弦,即其余弦值是X。如果X不在-1到1的范围,返回NULL。   mysql> select ACOS(1);   -> 0.000000   mysql> select ACOS(1.0001);   -> NULL   mysql> select ACOS(0);   -> 1.570796   ASIN(X)   返回X反正弦值,即其正弦值是X。L如果X不在-1到1的范围,返回NULL。   mysql> select ASIN(0.2);   -> 0.201358   mysql> select ASIN('foo');   -> 0.000000   ATAN(X)   返回X的反正切值,即其正切值是X。   mysql> select ATAN(2);   -> 1.107149   mysql> select ATAN(-2);   -> -1.107149   ATAN2(X,Y)   返回2个变量X和Y的反正切。它类似于计算Y/X的反正切,除了两个参数的符号被用来决定结果的象限。   mysql> select ATAN(-2,2);   -> -0.785398   mysql> select ATAN(PI(),0);   -> 1.570796   COT(X)   返回X的余切。   mysql> select COT(12);   -> -1.57267341   mysql> select COT(0);   -> NULL   RAND()       RAND(N)   返回在范围0到1.0内的随机浮点值。如果一个整数参数N被指定,它被用作种子值。   mysql> select RAND();   -> 0.5925   mysql> select RAND(20);   -> 0.1811   mysql> select RAND(20);   -> 0.1811   mysql> select RAND();   -> 0.2079   mysql> select RAND();   -> 0.7888   你不能在一个ORDER BY子句用RAND()值使用列,因为ORDER BY将重复计算列多次。然而在MySQL3.23中,你可以做: SELECT * FROM table_name ORDER BY RAND(),这是有利于得到一个来自SELECT * FROM table1,table2 WHERE a=b AND c LEAST(X,Y,...)   有2和2个以上的参数,返回最小(最小值)的参数。参数使用下列规则进行比较:   如果返回值被使用在一个INTEGER上下文,或所有的参数都是整数值,他们作为整数比较。   如果返回值被使用在一个REAL上下文,或所有的参数是实数值,他们作为实数比较。   如果任何参数是一个大小敏感的字符串,参数作为大小写敏感的字符串被比较。   在其他的情况下,参数作为大小写无关的字符串被比较。   mysql> select LEAST(2,0);   -> 0   mysql> select LEAST(34.0,3.0,5.0,767.0);   -> 3.0   mysql> select LEAST("B","A","C");   -> "A"   在MySQL 3.22.5以前的版本,你可以使用MIN()而不是LEAST。   GREATEST(X,Y,...)   返回最大(最大值)的参数。参数使用与LEAST一样的规则进行比较。   mysql> select GREATEST(2,0);   -> 2   mysql> select GREATEST(34.0,3.0,5.0,767.0);   -> 767.0   mysql> select GREATEST("B","A","C");   -> "C"   在MySQL在 3.22.5 以前的版本, 你能使用MAX()而不是GREATEST.   DEGREES(X)   返回参数X,从弧度变换为角度。   mysql> select DEGREES(PI());   -> 180.000000   RADIANS(X)   返回参数X,从角度变换为弧度。   mysql> select RADIANS(90);   -> 1.570796   TRUNCATE(X,D)   返回数字X,截断为D位小数。如果D为0,结果将没有小数点或小数部分。   mysql> select TRUNCATE(1.223,1);   -> 1.2   mysql> select TRUNCATE(1.999,1);   -> 1.9   mysql> select TRUNCATE(1.999,0);   -> 1

转载请注明原文地址: https://www.6miu.com/read-5050927.html

最新回复(0)