彩运网网址-彩运网网上登录

MySQL统计函数记录——数值函数

        -> -1.1071487177941

在MySQL在 3.22.5 以前的版本, 你能使用MAX()而不是GREATEST.  
DEGREES(X)  
返回参数X,从弧度变换为角度。  
mysql> select DEGREES(PI());  
-> 180.000000  
RADIANS(X)  
返回参数X,从角度变换为弧度。  
mysql> select RADIANS(90);  
-> 1.570796  

mysql> SELECT LN(2);

该功能可安全用于BIGINT值。  

对于近似值数字,其结果根据C 库而定。在很多系统中,这意味着 ROUND()的使用遵循“舍入成最接近的偶数”的规则: 一个带有任何小数部分的值会被舍入成最接近的偶数整数。

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  

        -> 0

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"  

可使用常见的算术操作符。注意就 -、 +和 *而言, 若两个参数均为正数,则其计算结果的精确度为 BIGINT (64比特),若其中一个参数为无符号整数, 而其它参数也是整数, 则结果为无符号整数。请参见12.8节,“Cast函数和操作符”。  www.2cto.com  

LOG10(X)  
返回X的以10为底的对数。  
mysql> select LOG10(2);  
-> 0.301030  
mysql> select LOG10(100);  
-> 2.000000  
mysql> select LOG10(-100);  
-> NULL  

mysql> SELECT EXP(-2);

TAN(X)  
返回X的正切值,在此X以弧度给出。  
mysql> select TAN(PI()+1);  
-> 1.557408  

ASIN(X)

EXP(X)  
返回值e(自然对数的底)的X次方。  
mysql> select EXP(2);  
-> 7.389056  
mysql> select EXP(-2);  
-> 0.135335  

        -> NULL

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  

| ASIN('foo') |

http://www.bkjia.com/Mysql/734753.htmlwww.bkjia.comtruehttp://www.bkjia.com/Mysql/734753.htmlTechArticle所有的数学函数在一个出错的情况下返回NULL。 - 单目减。改变参数的符号。 mysql select - 2; 注意,如果这个操作符与一个BIGINT使用,返回值是...

 

这个函数可安全用于BIGINT值。  
FLOOR(X)  
返回不大于X的最大整数值。  

        -> -2

MOD(N,M)  
   
%  
模 (类似C中的%操作符)。返回N被M除的余数。  
mysql> select MOD(234, 10);  
-> 4  
mysql> select 253 % 7;  
-> 1  
mysql> select MOD(29,9);  
-> 2  

mysql> SELECT LOG(10,100);

LOG(X)  
返回X的自然对数。  
mysql> select LOG(2);  
-> 0.693147  
mysql> select LOG(-2);  
-> NULL  

DEGREES(X)

注意返回值被变换为一个BIGINT!  

若要在i ≤ R ≤ j 这个范围得到一个随机整数R ,需要用到表达式 FLOOR(i + RAND() * (j – i + 1))。例如, 若要在7 到 12 的范围(包括7和12)内得到一个随机整数, 可使用以下语句:

COS(X)  
返回X的余弦, 在这里X以弧度给出。  
mysql> select COS(PI());  
-> -1.000000  

mysql> SELECT 3*5;

注意返回值被变换为一个BIGINT!  

        -> 32

SIN(X)  
返回X的正弦值,在此X以弧度给出。  
mysql> select SIN(PI());  
-> 0.000000  

mysql> SELECT ASIN(0.2);

你不能在一个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"  

+---------+------+-----------------------------------------+

注意,如果这个操作符与一个BIGINT使用,返回值是一个BIGINT!这意味着你应该避免在整数上使用-,那可能有值-2^63!  
ABS(X)  
返回X的绝对值。  
mysql> select ABS(2);  
-> 2  
mysql> select ABS(-32);  
-> 32  

        -> 0.15888261251047

ROUND(X)  
返回参数X的四舍五入的一个整数。  
mysql> select ROUND(-1.23);  
-> -1  
mysql> select ROUND(-1.58);  
-> -2  
mysql> select ROUND(1.58);  
-> 2  

SIGN(X)

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  

        -> NULL

在MySQL 3.22.5以前的版本,你可以使用MIN()而不是LEAST。  

mysql> SELECT CEILING(1.23);

mysql> select FLOOR(1.23);  
-> 1  
mysql> select FLOOR(-1.23);  
-> -2  

mysql> SELECT TRUNCATE(-1.999,1);

如果你想要一个数字X的任意底B的对数,使用公式LOG(X)/LOG(B)。  

        -> 2

ROUND(X,D)  
返回参数X的四舍五入的有D为小数的一个数字。如果D为0,结果将没有小数点或小数部分。  
mysql> select ROUND(1.298, 1);  
-> 1.3  
mysql> select ROUND(1.298, 0);  
-> 1  

SIN(X)

SIGN(X)  
返回参数的符号,为-1、0或1,取决于X是否是负数、零或正数。  
mysql> select SIGN(-32);  
-> -1  
mysql> select SIGN(0);  
-> 0  
mysql> select SIGN(234);  
-> 1  

注意,在WHERE语句中,WHERE每执行一次, RAND()就会被再计算一次。

ASIN(X)  
返回X反正弦值,即其正弦值是X。L如果X不在-1到1的范围,返回NULL。  
mysql> select ASIN(0.2);  
-> 0.201358  
mysql> select ASIN('foo');  
-> 0.000000  

对于准确值数字, ROUND() 使用“四舍五入” 或“舍入成最接近的数” 的规则:对于一个分数部分为 .5或大于 .5的值,正数则上舍入到邻近的整数值, 负数则下舍入临近的整数值。(换言之, 其舍入的方向是数轴上远离零的方向)。对于一个分数部分小于.5 的值,正数则下舍入下一个整数值,负数则下舍入邻近的整数值,而正数则上舍入邻近的整数值。

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  

        -> 1

注意返回值被变换为一个BIGINT!  
CEILING(X)  
返回不小于X的最小整数值。  
mysql> select CEILING(1.23);  
-> 2  
mysql> select CEILING(-1.23);  
-> -1  

CEILING(X) CEIL(X)

所有的数学函数在一个出错的情况下返回NULL。  

ATAN(X)

PI()  
返回PI的值(圆周率)。  
mysql> select PI();  
-> 3.141593  

 

注意返回值被变换为一个BIGINT!  

mysql> SELECT 18014398509481984*18014398509481984.0;

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

mysql> SELECT ROUND(SIN(PI()));

-  
单目减。改变参数的符号。  
mysql> select - 2;  

ABS(X)

mysql> SELECT EXP(0);

        -> 0.70100469486881

        -> 0.13533528323661

EXP(X)

返回X 的反正切,即,正切为X 的值。

        -> -1.9

mysql> SELECT FLOOR(-1.23);

        -> -1

LOG10(X)

        -> 20

        -> -1.5726734063977

        -> 4

        -> 0

mysql> SELECT 102/(1-1);

        -> 0.69314718055995

 

        -> 4.4721359549996

        -> -2

返回一个随机浮点值 v ,范围在 0 到1 之间 (即, 其范围为 0 ≤ v ≤ 1.0)。若已指定一个整数参数 N ,则它被用作种子值,用来产生重复序列。 

        -> 1.5707963267949

mysql> SELECT ASIN('foo');

http://www.bkjia.com/Mysql/488360.htmlwww.bkjia.comtruehttp://www.bkjia.com/Mysql/488360.htmlTechArticleMySQL统计函数记录数值函数 可使用常见的算术操作符。注意就 -、 +和 *而言, 若两个参数均为正数,则其计算结果的精确度为 BIGINT (64比特...

返回不大于X的最大整数值 。

| ROUND(2.5) | ROUND(25E-1) |

若发生错误,所有数学函数会返回 NULL 。

mysql> SELECT FLOOR(1.23);

被零除的结果为 NULL:

/

一元减号。更换参数符号。

mysql> SELECT DEGREES(PI() / 2);

mysql> SELECT CRC32('MySQL');

mysql> SELECT SIGN(234);

+------------+--------------+

        -> 0.20135792079033

CRC32(expr)

 

-

mysql> SELECT SQRT(20);

        -> 1.3

        -> 1.2

        -> 1

        -> 2

mysql> SELECT ATAN(-2);

+

        -> -2

        -> 8

所有数字的舍入方向都接近于零

返回值的类型同 第一个自变量相同(假设它是一个整数、双精度数或小数)。这意味着对于一个整数参数,结果也是一个整数(无小数部分)。

LOG2(X)

mysql> SELECT ATAN2(PI(),0);

RAND() RAND(N)

当第一个参数是十进制常数时,对于准确值参数,ROUND() 使用精密数学题库:

若用一个参数调用,这个函数就会返回X 的自然对数。

mysql> SELECT ROUND(-1.23);

        -> 16

TAN(X)

ACOS(X)

mysql> SELECT 29 MOD 9;

        -> 1.5574077246549

mysql> SHOW WARNINGS;

        -> NULL

返回X 的反正弦,即,正弦为X 的值。若X  若X 不在-1到 1的范围之内,则返回 NULL 。

        -> 3259397556

这个函数支持使用BIGINT 值。

        -> 324518553658426726783156020576256.0

DIV

LOG10(X)相当于LOG(10,X)。

返回参数X, 其值接近于最近似的整数。在有两个参数的情况下,返回 X ,其值保留到小数点后D位,而第D位的保留方式为四舍五入。若要接保留X值小数点左边的D 位,可将 D 设为负值。

mysql> SELECT SIGN(0);

+-------------+

mysql> SELECT 253 % 7;

mysql> SELECT TAN(PI());

返回X 反余弦, 即, 余弦是X的值。若X 不在-1到 1的范围之内,则返回 NULL 。

mysql> SELECT ATAN(-2,2);

MOD(N,M) , N % M N MOD M

        -> 0.25

返回X 的基数为2的对数。

        -> 1.2246063538224e-16

        -> -1

mysql> SELECT ROUND(23.298, -1);

返回X 的余切。

        -> 16

返回两个变量X 及Y的反正切。 它类似于 Y 或 X的反正切计算,  除非两个参数的符号均用于确定结果所在象限。

将数字X 的格式写成'#,###,###.##'格式, 即保留小数点后 D位,而第D位的保留方式为四舍五入,然后将结果以字符串的形式返回。详见12.9.4节,“其他函数”。

mysql> SELECT DEGREES(PI());

mysql> SELECT LOG2(-100);

| 3          |            2 |

-

       -> 1028

mysql> SELECT RAND();

注意,返回值会被转化为一个 BIGINT。

        -> 1

mysql> SELECT CRC32('mysql');

LN(X)

mysql> SELECT SQRT(4);

mysql> SELECT 5 DIV 2;

ROUND(X) ROUND(X,D)

        -> -0.78539816339745

mysql> SELECT POW(2,-2);

+-------------+

返回X 正弦,其中 X 在弧度中被给定。

+-------------+

mysql> SELECT PI();

        -> 0.60

SELECT FLOOR(7 + (RAND() * 6));

        -> 4

mysql> SELECT ACOS(1.0001);

mysql> SELECT ROUND(-1.58);

+---------+------+-----------------------------------------+

        -> 1.5707963267949

        -> 2

mysql> SELECT MOD(29,9);

mysql> SELECT * FROM tbl_name ORDER BY RAND();

本文由彩运网网址发布于网络安全,转载请注明出处:MySQL统计函数记录——数值函数

相关阅读