mysql numeric 函数——迹忆客-ag捕鱼王app官网
mysql numeric(数值)函数主要用于数值操作和/或数学计算。下表详细介绍了 numeric 函数
序号 | 函数 | 描述 |
---|---|---|
1 | abs() | 返回数值表达式的绝对值。 |
2 | acos() | 返回数值表达式的反余弦值。如果值不在 -1 到 1 的范围内,则返回 null。 |
3 | asin() | 返回数值表达式的反正弦。如果值不在 -1 到 1 的范围内,则返回 null |
4 | atan() | 返回数值表达式的反正切。 |
5 | atan2() | 返回传递给它的两个变量的反正切。 |
6 | ceil() | 返回不小于参数数值表达式的最小整数值 |
7 | ceiling() | 返回不小于参数数值表达式的最小整数值 |
8 | cos() | 返回参数数值表达式的余弦。数值表达式应以弧度表示。 |
9 | cot() | 返回参数数值表达式的余切。 |
10 | degrees() | 返回从弧度转换为度数的数值表达式。 |
11 | exp() | 返回自然对数 (e) 的底数,以传递的数值表达式的幂。 |
12 | floor() | 返回不大于参数数值表达式的最大整数值。 |
13 | greatest() | 返回输入表达式的最大值。 |
14 | least() | 当给定两个或更多数据时,返回最小值。 |
15 | log() | 返回参数数值表达式的自然对数。 |
16 | mod() | 通过除以另一个表达式返回一个表达式的余数部分。 |
17 | pi() | 返回 pi 的值 |
18 | pow() | 返回以第一个参数为底,第二个参数为指数的幂 |
19 | power() | 返回幂值 |
20 | radians() | 返回从度数转换为弧度的传递表达式的值。 |
21 | round() | 回四舍五入为整数的数值表达式。也可用于保留几位小数。 |
22 | sin() | 返回以弧度给出的数值表达式的正弦值。 |
23 | sqrt() | 返回数值表达式的非负平方根。 |
24 | tan() | 返回以弧度表示的数值表达式的正切值。 |
25 | crc32() | 返回值的循环冗余校验的值 |
下面我们来看一下这些函数的示例
abs(x)
abs() 函数返回 x 的绝对值。
mysql> select abs(225);
----------
| abs(225) |
----------
| 225 |
----------
1 row in set (0.01 sec)
mysql> select abs(-55787);
-------------
| abs(-55787) |
-------------
| 55787 |
-------------
1 row in set (0.41 sec)
acos(x)
此函数返回 x 的反余弦值。 x 的值必须介于 -1 和 1 之间,否则将返回 null。
mysql> select acos(0.8);
--------------------
|acos(0.8) |
--------------------
| 0.6435011087932843 |
--------------------
1 row in set (0.00 sec)
asin(x)
asin() 函数返回 x 的反正弦值。 x 的值必须在 -1 到 1 的范围内,否则返回 null。
mysql> select asin(0.8);
--------------------
| asin(0.8) |
--------------------
| 0.9272952180016123 |
--------------------
1 row in set (0.01 sec)
atan(x)
此函数返回 x 的反正切值。
mysql> select atan(0.8);
--------------------
| atan(0.8) |
--------------------
| 0.6747409422235527 |
--------------------
1 row in set (0.07 sec)
atan2(y,x)
此函数返回两个参数的反正切值:x 和 y。它类似于 y/x 的反正切,除了两者的符号用于查找结果的象限。
mysql> select atan(-9, 8);
--------------------
| atan(-9, 8) |
--------------------
| -0.844153986113171 |
--------------------
1 row in set (0.04 sec)
ceil(x) / ceiling(x)
这些函数返回不小于 x 的最小整数值。
mysql> select ceil (22.3);
---------------
| ceil (22.3) |
---------------
| 23 |
---------------
1 row in set (0.03 sec)
mysql> select ceil (-105.0238);
--------------------
| ceil(-105.0238) |
--------------------
| -105 |
--------------------
1 row in set (0.08 sec)
cos(x)
此函数返回 x 的余弦值。 x 的值以弧度给出。
mysql> select cos(8);
----------------------
| cos(8) |
----------------------
| -0.14550003380861354 |
----------------------
1 row in set (0.00 sec)
cot(x)
此函数返回 x 的余切。
mysql> select cot(8);
---------------------
| cot(8) |
---------------------
| -0.1470650639494805 |
---------------------
1 row in set (0.00 sec)
degrees(x)
此函数返回从弧度转换为度数的 x 值。
mysql> select degrees(180);
--------------------
| degrees(180) |
--------------------
| 10313.240312354817 |
--------------------
1 row in set (0.00 sec)
exp(x)
此函数返回 e 的值(自然对数的底数)的 x 次幂。
mysql> select exp(30);
--------------------
| exp(30) |
--------------------
| 10686474581524.463 |
--------------------
1 row in set (0.00 sec)
floor(x)
此函数返回不大于 x 的最大整数值。
mysql> select floor(22.3);
-------------
| floor(22.3) |
-------------
| 22 |
-------------
1 row in set (0.06 sec)
greatest(n1,n2,n3,..........)
greatest() 函数返回输入参数组(n1、n2、n3 等)中的最大值。以下示例使用 greatest() 函数返回一组数值中的最大数
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)
least(n1,n2,n3,n4,......)
least() 函数与 greatest() 函数相反。其目的是从值列表(n1、n2、n3 等)中返回值最小的项。以下示例显示了 least() 函数的正确用法和输出
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 的自然对数。如果使用两个参数调用它,它将返回任意基数 b 的 x 的对数。
mysql >select log(45);
---------------------------------------------------------
| log(45) |
---------------------------------------------------------
| 1.65321251377534 |
---------------------------------------------------------
1 row in set (0.00 sec)
mysql >select log(2,65536);
---------------------------------------------------------
| log(2,65536) |
---------------------------------------------------------
| 16.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)
pi()
此函数仅返回 pi 的值。sql 在内部存储 pi 的完整双精度值。
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 舍入到最接近的整数。如果提供了第二个参数 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 的符号(负、零或正)返回为 -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)
tan(x)
此函数返回参数 x 的正切值,以弧度表示。
mysql >select tan(45);
---------------------------------------------------------
| tan(45) |
---------------------------------------------------------
| 1.619775 |
---------------------------------------------------------
1 row in set (0.00 sec)
crc32(x)
mysql 提供了一组函数来执行各种数值函数。该crc32()函数计算的循环冗余校验值,并将其作为32位无符号值。
mysql> select crc32('test abc 123 **');
--------------------------
| crc32('test abc 123 **') |
--------------------------
| 3658167795 |
--------------------------
1 row in set (0.00 sec)