MySQL(五)-数学函数的使用解析
数学函数的使用解析
- 1 绝对值函数ABS(X)和返回圆周率函数PI()
- 2 平方根函数SQRT(X)和求余函数MOD(X,Y)
- 3 获取整数函数CEIL(X),CEILING(X),FLOOR(X)
- 4 获取随机数函数RAND()和RAND(X)
- 5 函数ROUND(X),ROUND(X,Y),TRUNCATE(X,Y)
- 6 符号函数SIGN(X)
- 7 幂函数POW(X,Y),POWER(X,Y),EXP(X)
- 8 对数运算函数LOG(X) 和LOG10(X)
- 9 角度与弧度相互转换的函数 RADIANS(x)和 DEGREES(x)
- 10 正弦函数SIN(x)和反正弦函数ASIN(x)
- 11 余弦函数 COS(x)和反余弦函数 ACOS(x)
- 12 正切函数,反正切函数和余切函数
MySQL也提供了一些数学函数,这些函数可以用于计算数学表达式、处理数字数据和协助数据分析。
1 绝对值函数ABS(X)和返回圆周率函数PI()
ABS(X)返回X的绝对值
mysql> SELECT ABS(2), ABS(-8.3), ABS(-333);
+--------+-----------+-----------+
| ABS(2) | ABS(-8.3) | ABS(-333) |
+--------+-----------+-----------+
| 2 | 8.3 | 333 |
+--------+-----------+-----------+
1 row in set (0.01 sec)
PI() 返回圆周率π的值。默认显示的小数位数是6位。
mysql> SELECT pi();
+----------+
| pi() |
+----------+
| 3.141593 |
+----------+
1 row in set (0.00 sec)
2 平方根函数SQRT(X)和求余函数MOD(X,Y)
SQRT(X) 返回非负数x的二次方根。
mysql> SELECT SQRT(99), SQRT(100), SQRT(-36);
+-----------------+-----------+-----------+
| SQRT(99) | SQRT(100) | SQRT(-36) |
+-----------------+-----------+-----------+
| 9.9498743710662 | 10 | NULL |
+-----------------+-----------+-----------+
1 row in set (0.00 sec)
负数是没有平方根的,返回值为NULL。
MOD(X,Y)返回X被Y除后的余数,MOD()对于带小数部分的数值也会有作用,返回除法运算后的精确余数。
mysql> SELECT MOD(63,8),MOD(234, 10),MOD(45.5,7);
+-----------+--------------+-------------+
| MOD(63,8) | MOD(234, 10) | MOD(45.5,7) |
+-----------+--------------+-------------+
| 7 | 4 | 3.5 |
+-----------+--------------+-------------+
1 row in set (0.00 sec)
3 获取整数函数CEIL(X),CEILING(X),FLOOR(X)
CEIL(X),CEILING(X) 的意义相同,返回不小于X的最小整数,返回值会转化为一个BIGINT。
mysql> SELECT CEIL(-321.3546),CEILING(453.355);
+-----------------+------------------+
| CEIL(-321.3546) | CEILING(453.355) |
+-----------------+------------------+
| -321 | 454 |
+-----------------+------------------+
1 row in set (0.00 sec)
FLOOR(X) 返回不大于X的最大整数值,返回值转化为一个BIGINT。
mysql> SELECT FLOOR(-321.35), FLOOR(453.35);
+----------------+---------------+
| FLOOR(-321.35) | FLOOR(453.35) |
+----------------+---------------+
| -322 | 453 |
+----------------+---------------+
1 row in set (0.00 sec)
4 获取随机数函数RAND()和RAND(X)
RAND(X) 返回一个随机的浮点值 V,范围在 0 到 1 之间(0<= V <= 1.0),若指定一个参数X,用来产生重复序列。
mysql> SELECT RAND(),RAND(),RAND();
+--------------------+--------------------+--------------------+
| RAND() | RAND() | RAND() |
+--------------------+--------------------+--------------------+
| 0.7297516844512445 | 0.6169746309676902 | 0.8956181322183628 |
+--------------------+--------------------+--------------------+
1 row in set (0.00 sec)mysql> SELECT RAND(2),RAND(2),RAND(5);
+--------------------+--------------------+---------------------+
| RAND(2) | RAND(2) | RAND(5) |
+--------------------+--------------------+---------------------+
| 0.6555866465490187 | 0.6555866465490187 | 0.40613597483014313 |
+--------------------+--------------------+---------------------+
1 row in set (0.00 sec)
不带参数RAND() 每次返回的值都是随机的,不同的。
带参数RAND(X) 每次返回的值,X值是固定的,将产生相同的随机数,不同X的值数不同的。
5 函数ROUND(X),ROUND(X,Y),TRUNCATE(X,Y)
ROUND(X)返回最接近参数X的整数,对X值进行四舍五入。
mysql> SELECT ROUND(-1.14),ROUND(-1.67), ROUND(1.14),ROUND(1.66);
+--------------+--------------+-------------+-------------+
| ROUND(-1.14) | ROUND(-1.67) | ROUND(1.14) | ROUND(1.66) |
+--------------+--------------+-------------+-------------+
| -1 | -2 | 1 | 2 |
+--------------+--------------+-------------+-------------+
1 row in set (0.00 sec)
ROUND(X,Y)返回最接近参数X的数,其值保留到小数点后边Y位。
mysql> SELECT ROUND(1.38, 1), ROUND(1.38, 0), ROUND(232.38, -1), round(232.38,-2);
+----------------+----------------+-------------------+------------------+
| ROUND(1.38, 1) | ROUND(1.38, 0) | ROUND(232.38, -1) | round(232.38,-2) |
+----------------+----------------+-------------------+------------------+
| 1.4 | 1 | 230 | 200 |
+----------------+----------------+-------------------+------------------+
1 row in set (0.00 sec)
TRUNCATE(X,Y)返回被舍去至小数点后 y 位的数字x。若y 的值为 0,则结果不带有小数点或不带有小数部分。若y设为负数,则截去(归零) 小数点左起第位开始后面所有低位的值。
mysql> SELECT TRUNCATE(1.31,1), TRUNCATE(1.99,1), TRUNCATE(1.99,0), TRUNCATE(19.99,-1);
+------------------+------------------+------------------+--------------------+
| TRUNCATE(1.31,1) | TRUNCATE(1.99,1) | TRUNCATE(1.99,0) | TRUNCATE(19.99,-1) |
+------------------+------------------+------------------+--------------------+
| 1.3 | 1.9 | 1 | 10 |
+------------------+------------------+------------------+--------------------+
1 row in set (0.00 sec)
6 符号函数SIGN(X)
SIGN(X) 返回参数的符号,X的值为负数,零,正数的时候返回结果依次为 -1,0,1。
mysql> SELECT SIGN(-24),SIGN(0), SIGN(265);
+-----------+---------+-----------+
| SIGN(-24) | SIGN(0) | SIGN(265) |
+-----------+---------+-----------+
| -1 | 0 | 1 |
+-----------+---------+-----------+
1 row in set (0.00 sec)
7 幂函数POW(X,Y),POWER(X,Y),EXP(X)
POW(X,Y),POWER(X,Y) 返回的是X的Y次乘方的结果值
mysql> SELECT POW(2,3), POWER(2,4),POW(2,-5), POWER(2,-6);
+----------+------------+-----------+-------------+
| POW(2,3) | POWER(2,4) | POW(2,-5) | POWER(2,-6) |
+----------+------------+-----------+-------------+
| 8 | 16 | 0.03125 | 0.015625 |
+----------+------------+-----------+-------------+
1 row in set (0.00 sec)
EXP(X)返回e的X乘方后的值。
MySQL中e表示自然对数的底数,它的值约等于2.71828。在MySQL中,可以通过使用EXP(1)函数来获取数学常数e的近似值,也可以直接使用数值2.71828进行计算。查询语句可以通过EXP(1)函数来计算e的近似值。
mysql> SELECT EXP(1),EXP(5),EXP(-2);
+-------------------+-------------------+--------------------+
| EXP(1) | EXP(5) | EXP(-2) |
+-------------------+-------------------+--------------------+
| 2.718281828459045 | 148.4131591025766 | 0.1353352832366127 |
+-------------------+-------------------+--------------------+
1 row in set (0.00 sec)
8 对数运算函数LOG(X) 和LOG10(X)
数学中,对数是指一个数在另一个给定数(底数)的幂次方下的结果。
LOG(X) 发布会X的自然数对数,X相对于技术e的对数。
mysql> SELECT LOG(2.718281828459045), LOG(5), LOG(-5);
+------------------------+--------------------+---------+
| LOG(2.718281828459045) | LOG(5) | LOG(-5) |
+------------------------+--------------------+---------+
| 1 | 1.6094379124341003 | NULL |
+------------------------+--------------------+---------+
1 row in set, 1 warning (0.00 sec)
对数不能为负数,负数返回结果为NULL。
LOG10(X) 返回X的基数为10的对数
mysql> SELECT LOG10(2), LOG10(100), LOG10(-100),LOG10(10);
+--------------------+------------+-------------+-----------+
| LOG10(2) | LOG10(100) | LOG10(-100) | LOG10(10) |
+--------------------+------------+-------------+-----------+
| 0.3010299956639812 | 2 | NULL | 1 |
+--------------------+------------+-------------+-----------+
1 row in set, 1 warning (0.00 sec)
对数不能为负数,负数返回结果为NULL。
9 角度与弧度相互转换的函数 RADIANS(x)和 DEGREES(x)
角度和弧度是两种不同的单位,但它们可以相互转换。在圆周上,一个完整的圆周的弧度为2π,一个直角的角度为90度。因此,可以使用如下公式将角度值转换为弧度值:
弧度值 = 角度值 × π / 180
同样地,可以使用如下公式将弧度值转换为角度值:
角度值 = 弧度值 × 180 / π
例如,假设要将60度转换为弧度值,可以将其代入上述公式中:
弧度值 = 60 × π / 180
计算结果为1.0472弧度。
同样地,假设要将2.5弧度转换为角度值,可以将其代入上述公式中:
角度值 = 2.5 × 180 / π
计算结果为143.24度。
RADIANS(x)将参数x由角度转化为弧度。
mysql> SELECT RADIANS(90),RADIANS(180),RADIANS(360);
+--------------------+-------------------+-------------------+
| RADIANS(90) | RADIANS(180) | RADIANS(360) |
+--------------------+-------------------+-------------------+
| 1.5707963267948966 | 3.141592653589793 | 6.283185307179586 |
+--------------------+-------------------+-------------------+
1 row in set (0.00 sec)
使用DEGREES将弧度转化为角度。
mysql> SELECT DEGREES(PI()), DEGREES(PI() / 2);
+---------------+-------------------+
| DEGREES(PI()) | DEGREES(PI() / 2) |
+---------------+-------------------+
| 180 | 90 |
+---------------+-------------------+
1 row in set (0.00 sec)
10 正弦函数SIN(x)和反正弦函数ASIN(x)
在三角学中,正弦和反正弦都是针对角度的函数。
正弦函数表示的是一个角的正弦值,可以用下面的公式表示:
sin(θ) = 对边 / 斜边
在上式中,θ表示角度,对边指的是角度所对应的一条边上的垂直线段长度,斜边指的是角度所对应的斜线段长度。例如,在一个直角三角形中,如果已知一个角的大小,且已知斜边和对边的长度,那么可以使用正弦函数求出这个角的正弦值。
而反正弦函数则是正弦函数的反函数,其可以用下面的公式表示:
sin⁻¹(x) = θ
在上式中,x表示一个实数,θ表示其正弦值所对应的角度。反正弦函数参数的取值范围一般是[-1, 1],其返回值范围一般是[-π/2, π/2]之间的角度值,表示对于给定的正弦值,其所对应的角度大小。
需要注意的是,在MySQL中,正弦函数和反正弦函数对应的函数名称分别为SIN()和ASIN()。
SIN(x)返回x正弦,其中x 为弧度值。
mysql> SELECT SIN(1), ROUND(SIN(PI()));
+--------------------+------------------+
| SIN(1) | ROUND(SIN(PI())) |
+--------------------+------------------+
| 0.8414709848078965 | 0 |
+--------------------+------------------+
1 row in set (0.00 sec)
ASIN(x)返回x的反正弦,即正弦为x 的值。若x不在-1到1的范围之内,则返回 NULL。
mysql> SELECT ASIN(0.8414709848078965), ASIN(3);
+--------------------------+---------+
| ASIN(0.8414709848078965) | ASIN(3) |
+--------------------------+---------+
| 1 | NULL |
+--------------------------+---------+
1 row in set (0.00 sec)
11 余弦函数 COS(x)和反余弦函数 ACOS(x)
余弦和反余弦都是针对角度的函数。
余弦函数表示的是一个角的余弦值,可以用下面的公式表示:
cos(θ) = 邻边 / 斜边
在上式中,θ表示角度,邻边指的是角度所对应的一条边上的水平线段长度,斜边指的是角度所对应的斜线段长度。例如,在一个直角三角形中,如果已知一个角的大小,且已知斜边和邻边的长度,那么可以使用余弦函数求出这个角的余弦值。
而反余弦函数则是余弦函数的反函数,其可以用下面的公式表示:
cos⁻¹(x) = θ
在上式中,x表示一个实数,θ表示其余弦值所对应的角度。反余弦函数参数的取值范围一般是[-1,1],其返回值范围一般是[0,π]之间的角度值,表示对于给定的余弦值,其所对应的角度大小。
需要注意的是,在MySQL中,余弦函数和反余弦函数对应的函数名称分别为COS()和ACOS()
COS(x)返回x的余弦,其中x为弧度值。
mysql> SELECT COS(0),COS(PI()),COS(1);
+--------+-----------+--------------------+
| COS(0) | COS(PI()) | COS(1) |
+--------+-----------+--------------------+
| 1 | -1 | 0.5403023058681398 |
+--------+-----------+--------------------+
1 row in set (0.00 sec)
ACOS(x)返回x 的反余弦,即余弦是 x 的值。若x 不在-1~1 的范围之内,则返回 NULL。
mysql> SELECT ACOS(1),ACOS(0), ROUND(ACOS(0.5403023058681398));
+---------+--------------------+---------------------------------+
| ACOS(1) | ACOS(0) | ROUND(ACOS(0.5403023058681398)) |
+---------+--------------------+---------------------------------+
| 0 | 1.5707963267948966 | 1 |
+---------+--------------------+---------------------------------+
1 row in set (0.00 sec)
12 正切函数,反正切函数和余切函数
正切和反正切、余切和反余切也是三角函数中的函数。
正切函数表示的是一个角的正切值,可以用下面的公式表示:
tan(θ) = 对边 / 邻边
在上式中,θ表示角度,对边指的是角度所对应的一条边上的垂直线段长度,邻边指的是角度所对应的一条边上的水平线段长度。例如,在一个直角三角形中,如果已知一个角的大小,且已知邻边和对边的长度,那么可以使用正切函数求出这个角的正切值。
而反正切函数则是正切函数的反函数,其可以用下面的公式表示:
tan⁻¹(x) = θ
在上式中,x表示一个实数,θ表示其正切值所对应的角度。反正切函数参数的取值范围是实数,其返回值范围一般是[-π/2, π/2]之间的角度值,表示对于给定的正切值,其所对应的角度大小。
同样,余切函数表示的是一个角的余切值,可以用下面的公式表示:
cot(θ) = 邻边 / 对边
在上式中,θ表示角度,邻边指的是角度所对应的一条边上的水平线段长度,对边指的是角度所对应的一条边上的垂直线段长度。例如,在一个直角三角形中,如果已知一个角的大小,且已知邻边和对边的长度,那么可以使用余切函数求出这个角的余切值。
而反余切函数则是余切函数的反函数,其可以用下面的公式表示:
cot⁻¹(x) = θ
在上式中,x表示一个实数,θ表示其余切值所对应的角度。反余切函数参数的取值范围是实数,其返回值范围一般是[0,π]之间的角度值,表示对于给定的余切值,其所对应的角度大小。
需要注意的是,在MySQL中,正切、反正切、余切和反余切函数对应的函数名称分别为TAN()、ATAN()、COT()。
TAN(x)返回x的正切,其中x为给定的弧度值。
mysql> SELECT TAN(0.3), ROUND(TAN(PI()/4));
+---------------------+--------------------+
| TAN(0.3) | ROUND(TAN(PI()/4)) |
+---------------------+--------------------+
| 0.30933624960962325 | 1 |
+---------------------+--------------------+
1 row in set (0.00 sec)
ATAN(x)返回x的反正切,即正切为X的值。
mysql> SELECT ATAN(0.30933624960962325), ATAN(1);
+---------------------------+--------------------+
| ATAN(0.30933624960962325) | ATAN(1) |
+---------------------------+--------------------+
| 0.3 | 0.7853981633974483 |
+---------------------------+--------------------+
1 row in set (0.00 sec)
COX(X)返回X的余切。
mysql> SELECT COT(0.3), 1/TAN(0.3),COT(PI() / 4);
+--------------------+--------------------+--------------------+
| COT(0.3) | 1/TAN(0.3) | COT(PI() / 4) |
+--------------------+--------------------+--------------------+
| 3.2327281437658275 | 3.2327281437658275 | 1.0000000000000002 |
+--------------------+--------------------+--------------------+
1 row in set (0.00 sec)
MySQL(五)-数学函数的使用解析相关推荐
- mysql 聚合函数求乘积_手把手教你mysql(五)聚合函数
手把手教你mysql(五)聚合函数 一: 聚合函数 1.1.COUNT()函数 1. COUNT()函数用来统计记录的条数: 2. 与GOUPE BY 关键字一起使用: 我这边仍然使用的是t_stud ...
- 【MySQL-函数】MySQL常用数学函数:round,ceil,floor,truncate,mod
小伙伴们注意:函数和函数后面的括号之间不能有空格~ 1.round(int)\round(int1,int2) :四舍五入 一个参数代表保留整数部分,两个参数代表保留指定位数 SELECT ROUND ...
- mysql 条件 函数_mysql 函数 时间函数,数学函数,字符串函数,条件判断函数
=========================================== mysql 相关函数 ============================================= ...
- mysql数学函数名_MYSQL 常见数学函数说明
摘要: 下文讲述MySQL常见数学函数的说明,如下所示: mysql > select round(2.34); +-------------+ | round(2.34) | +------- ...
- mysql function_MySQL基础函数——数学函数详解
函数表示对输入参数值返回-一个具有特定关系的值,MySQL提供了大量丰富的函数,在进行数据库管理以及数据的查询和操作时将会经常用到各种函数.通过对数据的处理,数据库功能可以变得更加强大,更加灵活地满足 ...
- MySQL内置函数存储过程视图JDBC
MySQL存储过程&视图&JDBC-笔记 回顾 能够使用内连接进行多表查询 SELECT * FROM 表1 , 表2 WHERE 条件; SELECT * FROM 表1 INNER ...
- 习惯性朴实简单!一起学习MySQL常见单行函数,字符数学日期流程控制
文章目录 一.字符函数 二.数学函数 三.日期函数 四.其他函数 五.流程控制函数 一.字符函数 1.大小写控制函数 ①UPPER():转换成大写 SELECT UPPER('Hello'); ②LO ...
- mysql od函数_Mysql数学函数不求人
所有的数学函数在一个出错的情况下返回NULL. - 单目减.改变参数的符号. mysql> select - 2; 注意,如果这个操作符与一个BIGINT使用,返回值是一个BIGINT! ...
- mysql开方_MySQL数学函数的实际用法
此文章主要向大家描述的是MySQL数学函数的实际用法以及在实际操作中值得大家注意的问题,MySQL数学函数是MySQL函数中经常被用到的,所以对其有一定的了解还是有你有所帮助的. ABS (numbe ...
最新文章
- Android自定义ListView的Item无法响应OnItemClick的解决办法
- ASP.NET Web Forms - 网站导航(Sitemap 文件)
- 甲骨文第四财季SAAS和PAAS收入增长66%
- 皮一皮:原来程序员也是要看天赋的...
- (转)Unity3d UnityEditor编辑器定制和开发插件
- mysql 交集_MySQL 查询结果取交集的实现方法
- 【Coursera课程笔记】Web智能和大数据Week3_MapReduce
- 用 PS 调整服务器时间
- 【Vue.js源码解析 二】-- 虚拟 DOM
- Python3.x+Fiddler抓取APP数据
- c语言程序装萝卜,萝卜花园练习win7系统安装SkyDrive的图文步骤
- jquery插件开发方法
- 基于STM32F103RCT6的AD9833驱动开发(代码可以免费发邮箱)
- java基本数据类型存放在哪?
- kux播放器android,KUX转换器
- 全栈设计师必须拥有的Mac软件推荐
- Android Gradle插件开发基础
- penn treebank_Penn Manor致力于开源
- 天梯赛 L1-021 重要的话说三遍 (5 分) 简单易懂
- python SM4加密