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

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

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

+

加号:

mysql> SELECT 3+5;

        -> 8



减号:

mysql> SELECT 3-5;

        -> -2



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

mysql> SELECT – 2;

        -> -2

注意:若该 操作符同一个BIGINT同时使用,则返回值也是一个BIGINT。这意味着你应当尽量避免对可能产生–263的整数使用 –。

*

乘号:

mysql> SELECT 3*5;

        -> 15

mysql> SELECT 18014398509481984*18014398509481984.0;

        -> 324518553658426726783156020576256.0

mysql> SELECT 18014398509481984*18014398509481984;

        -> 0

最后一个表达式的结果是不正确的。原因是整数相乘的结果超过了BIGINT 计算的 64比特范围。 (见11.2节,“数值类型”.)

/

除号:

mysql> SELECT 3/5;

        -> 0.60

被零除的结果为 NULL:

mysql> SELECT 102/(1-1);

        -> NULL

只有当执行的语境中,其结果要被转化为一个整数时 ,除法才会和 BIGINT 算法一起使用。

DIV

整数除法。 类似于 FLOOR(),然而使用BIGINT 算法也是可靠的。

mysql> SELECT 5 DIV 2;

        -> 2

12.4.2. 数学函数

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

ABS(X)

返回X 的绝对值。

mysql> SELECT ABS(2);

        -> 2

mysql> SELECT ABS(-32);

        -> 32

该函数支持使用BIGINT值。

ACOS(X)

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

mysql> SELECT ACOS(1);

        -> 0

mysql> SELECT ACOS(1.0001);

        -> NULL

mysql> SELECT ACOS(0);

        -> 1.5707963267949

ASIN(X)

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

 

mysql> SELECT ASIN(0.2);

        -> 0.20135792079033

mysql> SELECT ASIN(‘foo’);

 

+————-+

| ASIN(‘foo’) |

+————-+

|           0 |

+————-+

1 row in set, 1 warning (0.00 sec)

 

mysql> SHOW WARNINGS;

+———+——+—————————————–+

| Level   | Code | Message                                 |

+———+——+—————————————–+

| Warning | 1292 | Truncated incorrect DOUBLE value: ‘foo’ |

+———+——+—————————————–+

ATAN(X)

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

mysql> SELECT ATAN(2);

        -> 1.1071487177941

mysql> SELECT ATAN(-2);

        -> -1.1071487177941

ATAN(Y,X) , ATAN2(Y,X)

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

mysql> SELECT ATAN(-2,2);

        -> -0.78539816339745

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

        -> 1.5707963267949

CEILING(X) CEIL(X)

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

mysql> SELECT CEILING(1.23);

        -> 2

mysql> SELECT CEIL(-1.23);

        -> -1

这两个函数的意义相同。注意返回值会被转化为一个BIGINT。

COS(X)

返回X 的余弦,其中X在弧度上已知。 

mysql> SELECT COS(PI());

        -> -1

COT(X)

返回X 的余切。

mysql> SELECT COT(12);

        -> -1.5726734063977

mysql> SELECT COT(0);

        -> NULL

CRC32(expr)

计算循环冗余码校验值并返回一个 32比特无符号值。若参数为NULL ,则结果为 NULL。该参数应为一个字符串,而且在不是字符串的情况下会被作为字符串处理(若有可能)。

mysql> SELECT CRC32(‘MySQL’);

        -> 3259397556

mysql> SELECT CRC32(‘mysql’);

        -> 2501908538

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

相关文章:

你感兴趣的文章:

标签云: