myql 数学函数

        学了mysql运算符,接着学习mysql函数:数学函数、字符串函数、日期时间函数和其它函数等,函数从数学函数开始。

1,数学函数

        数学函数主要用来处理数值数据,主要的数学函数有:绝对值函数、三角函数(包括正弦函数、余弦函数、正切函数、余切函数等)、对数函数、随机数函数等。在有错误产生时,数学函数将会返回空值NULL。

函数

说明

ABS(x)

绝对值

PI()

圆周率

SQRT(x)

平方根

MOD(x,y)

求余

CEIL(x)、

CEILING(x)

返回不小于x的最小整数值

FLOOR(x)

返回不大于x的最大整数值

RAND()

返回一个随机0到1的浮点值

ROUND(x)

对x值进行四舍五入,返回最接近于参致x的整数

ROUND(x,y)

对值保留到小数点后面y位,若y 为负值,则将保留x值到小数点左边y位,返回最接近于参数x的数

TRUNCATE(x,y)

返回被舍去至小数点后y位的数字x

SIGN(x)

返回参数的符号,x的值为负、零或正时返回结果依次为-1、0或1

POW(x,y)、POWER(x,y)

返回x的y次乘方的结果值

EXP(x)

返回e的x乘方后的值

LOG(x)

返回x的自然对数,x相对于基数e的对数

LOG10(x)

返回x的基数为10的对数

RADIANS(x)

将参数x由角度转化为弧度

DEGREES(x)

将参数x由弧度转化为角度

SIN(x)

返回x正弦,其中x为弧度值

ASIN(x)

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

COS(x)

返回x的余弦。其中x为弧度值

ACOS(x)

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

TAN(x)

返阿x的正切。其中x为给定的弧度值

ATAN(x)

返回x的反正切,即正切为x的值

COT(x)

返回x的余切

1,绝对值函数ABS(x)和返回圆周率的函数PI(),

ABS(X)返回X的绝对值

        【例1】求2,-3.3和-33的绝对值,输入语句如下:

SELECT ABS(2), ABS (-3.3), ABS(-33);

        

        正数的绝对值为其本身,2的绝对值为2负数的绝对值为其相反数,-3.3的绝对值为3.3;-33的绝对值为33。

        PI()返回圆周率T的值。默认的显示小数位数是6位。

SELECT pi();

        返回结果保留了7位有效数字。

2,平方根函数SQRT(x)和求余函数MOD(x,y)

SQRT(x)返回非负数x的二次方根。

        【例3】求9,40和-49的二次平方根,输入语句如下:

SELECT SQRT(9), SQRT(40), SQRT(-49);

        3的平方等于9,因此9的二次平方根为3;40的平方根为6.324555320336759,而负数没有平方根,因此-49返回的结果为NULL。

        MOD(x,y)返回x被y除后的余数,MOD(对于带有小数部分的数值也起作用,它返回除法运算后的精确余数。

        【例4】对MOD(31,8),MOD(234,10),MOD(45.5,6)进行求余运算,输入语句如下:

SELECT MOD(31,8), MOD(234,10), MOD(45.5,6);

3, 获取整数的函数CEIL(x)、CEILING(x)和 FLOOR(x)

CEIL(x)和 CEILING(x)意义相同,返回不小于x的最小整数值,返回值转化为一个BIGINT。

        【例5】使用CEILING函数返回最小整数,输入语句如下:

SELECT CEIL(-3.35), CEILING(3.35);

        -3.35为负数,不小于-3.35的最小整数为-3,因此返回值为-3;不小于3.35的最小整数为4,因此返回值为4。

FLOOR(x)返回不大于x的最大整数值,返回值转化为一个BIGINT。

        【例6】使用FLOOR函数返回最大整数,输入语句如下:

SELECT FLOOR(-3.35), FLOOR(3.35);

        -3.35为负数,不大于-3.35的最大整数为-4,因此返回值为-4;不大于3.35的最大整数为3,因此返回值为3。

4,获取随机数的函数AND()和 RAND(x)

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

        【例7】使用RANDO函数产生随机数,输入语句如下:

SELECT RAND(), RAND(), RAND();

        可以看到,不带参数的RANDO每次产生的随机数值是不同的。

        【例8】使用RAND(x)函数产生随机数。输入语句如下:

SELECT RAND(10), RAND(10), RAND(11);

        可以看到,当RAND(x)的参数相同时,将产生相同的随机数,不同的x产生的随机数值不同。

5,函数ROUND(x)、ROUND(x,y)和TRUNCATE(x,y)

        ROUND(x)返回最接近于参致x的整数,对x值进行四舍五入。

        【例9】使用ROUND(x)函数对操作数进行四舍五入操作,输入语句如下;

SELECT ROUND(-1.14), ROUND(-1.67), ROUND(1.14), ROUND(1.66);

        可以看到,四舍五入处理之后,只保留了各个值的整数部分。

        ROUND(x.y)返回最接近于参数x的数,其值保留到小数点后面y位,若y 为负值,则将保留x值到小数点左边y位。

        【例10】使用ROUND(x,y)函数对操作数进行四舍五入操作,结果保留小数点后面指定y位,输入语句如l下:

SELECT ROUND(1.38,1), ROUND(1.38, 0), ROUND(232.38,-1), 
ROUND(232.38,-2);

        ROUND(1.38,1)保留小数点后面1位。四舍五入的结果为1.4 ROUND(1.38,0)保留小数点后面0位,即返回四舍五入后的整数值: ROUND(232.38, -1)和ROUND (232.38, 2)分别保留小数点左边1位和2位。

        提示:y值为负数时,保留的小数点左边的相应位数直接保存为0,不进行四合五入。

        TRUNCATE(x,y)返回被舍去至小数点后y位的数字x。若y的值为0,则结果不带有小数点或不带有小数部分。若y设为负数,则截去(归零)x小数点左起第y位开始后面所有低位的值。

        【例11】使用TRUNCATE(x,y)函数对操作数进行截取操作,结果保留小数点后面指定y位,输入语句如下:

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)都保留小数点后1位数字,返回值分别为 1.3和1.9;TRUNCATE(1.99,0)返回整数部分值1;TRUNCATE(19.99,-1)截去小数点左边第1位后面的值,并将整数部分的1位数字置0,结果为10。

        提示:ROUND(x.y)函数在截取值的时候会四舍五入,而TRUNCATE (x.y)直接截取值,并不进行四合五入。

6,符号函数SIGN(x)

        SIGN(x)返回参数的符号,x的值为负、零或正时返回结果依次为-1、0或1。

        【例12】使用SIGN函数返回参数的符号,输入语句如下:

SELECT SIGN(-21), SIGN(0), SIGN(21);

        SIGN(-21)返回-1;SIGN(O)返回0;SIGN(21)返回1。

6,幂运算函数POW(x,y)、POWER(x,y)和EXP(x)

        POW(x, y)或者POWER(x,y)函数返回x的y次乘方的结果值。

        【例13】使用POW和 POWER函数进行乘方运算,输入语句如下:

SELECT POW(2,2), POWER(2,2), POW(2,-2), POWER(2,-2);

        可以看到。POW和 POWER的结果是相同的,POW(2,2)和 POWER(2,2)返回2的2次方,结果都是4;POW(2,-2)和 POWER(2,-2)都返回2的-2次方,结果为4的倒数,即0.25。

        EXP(x)返回e的x乘方后的值。

        【例14】使用EXP函数计算e的乘方,输入语句如下:

SELECT EXP(33), EXP(-3), EXP(0);

        EXP(3)返回以e为底的3次方,结果为20.085536923187668,EXP(-3)返回以e为底的-3次方,结果为0.049787068367863944; EXP(0)返回以c为底的0次方,结果为1。

7,对数运算函数LOG(x)和LOG10(x)

        LOG(x)返回x的自然对数,x相对于基数e的对数。

        【例15】使用LOG(x)函数计算自然对数,输入语句如下:

SELECT LOG(3), LOG(-3);

        对数定义域不能为负数,因此 LOG(-3)返回结果为NULL。

        LOG10(x)返回x的基数为10的对数。

        【例16】使用 LOG10计算以10为基数的对致,输入语句如下:

SELECT LOG10(2), LOG10(100), LOG10(-100);

        

        10的2次乘方等于100,因此LOG10(100)返回结果为2,LOG10(-100)定义域非负,因此返回NULL。

8,角度与弧度相互转换的函数RADIANS(x)和 DEGREES(x)

        RADIANS(x)将参数x由角度转化为弧度。

        【例17】使用RADIANS将角度转换为弧度,输入语句如下:

SELECT RADIANS(90),RADIANS (180);

        DEGREES(x)将参数x由弧度转化为角度。

        【例18】使用DEGREES将弧度转换为角度,输入语句如下:

SELECT DEGREES(PI()), DEGREES(PI()/2);

9,正弦函数SIN(x)和反正弦函数ASIN(x)

        SIN(x)返回x正弦,其中x为弧度值。

        【例19】使用SIN函数计算正弦值,输入语句如下:

SELECT SIN(1), ROUND(SIN(PI()));

        

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

        【例20】使用ASN函股计算反正弦值,输入语句如下,

SELECT ASIN(0.8414709848078965), ASIN(3);

        

        由结果可以看到,函数ASIN 和 SN互为反函数。ASIN(3)中的参数3题出了正弦值的范国,因此返回NULL

10,余弦函数COS(x)和反余弦函数ACOS(x)

        COS(x) 返回x的余弦。其中x为弧度值

        【例21】使用COS函数计算余弦值,输入语句如下:

SELECT COS(0), COS(PI()), COS(1);

 

        由结果可以看到,COS(0)值为1;COS(PI())值为-1;COS(1)值为0.5403023058681398。

        ACOS(x)返回x的反余弦,即余弦是x 的值。若x不在-1~1的在围之内,则返回NULL。

        【例22】使用ACOS函数计算反余张值,输入透句如下:

SELECT ACOS(1),ACOS(0), ROUND(ACOS(0.5403023058681398));

        由结果可以看到,函数ACOS和C0SE为反函数。

11,正切函数、反正切函数和余切函数

        TAN(x)返阿x的正切,其中x为给定的弧度值。

        【例23】使用TAN函数计算正切值,输入语句如下:

SELECT TAN(0.3), ROUND(TAN(PI()/4));

        ATAN(x)返回x的反正切,即正切为x的值。

        【例24】使用ATAN函数计算反正切值,输入语句如下:

SELECT ATAN(0.309336249609623253), ATAN(1);

        由结果可以看到,函数ATAN和TAN互为反函数。

        COT(x)返回x的余切。

        【例25】使用COTO函数计算余切值,输入语句如下,

SELECT COT(0.3),1/TAN(0.3), COT(PI()/4);

        由结果可以看到,函数COT 和 TAN互为倒函数。

12,应用

        目标:获取1-100以内的随机数:

        处理:用rand()获取随机数,用floor获取整数(FLOOR()函数用来获取不大于给定数字的最大整数)

SELECT FLOOR(1 + (RAND() * 100)) AS random_number;SELECT FLOOR(1 + (RAND() * 100)) AS random_number1,FLOOR(1 + (RAND() * 100)) AS random_number2,FLOOR(1 + (RAND() * 100)) AS random_number3;

 总结

        数学函数,平时感觉也没怎么用。用得多一些的是绝对值ABS(),取整(CEIL(x) 返回不小于x的最小整数值; FLOOR(x) 返回不大于x的最大整数值)和随机数函数RAND()

        

        上一篇: 《mysql 运算符》

        下一篇: 《mysql 字符串函数》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/576249.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OPC560:打造智能制造领域的通讯桥梁

描述:随着工业4.0时代的到来,智能制造已成为推动工业发展的核心力量。在这一背景下,高效、稳定的数据通讯系统成为连接设备、平台和人员的关键。OPC560以其强大的功能和兼容性,为智能制造领域的数据通讯提供了全新解决方案。本文将…

【QGIS从shp文件中筛选目标区域导出为shp】

文章目录 1、写在前面2、QGIS将shp文件中目标区域输出为shp2.1、手动点选2.2、高级过滤 3、上述shp完成后,配合python的shp文件,即可凸显研究区域了 1、写在前面 利用shp文件制作研究区域mask,Matlab版本,请点击 Matlab利用shp文…

SSH隧道详解与使用AutoSSH实现稳定的内网穿透

SSH隧道详解与使用AutoSSH实现稳定的内网穿透 一、前言 二. 本地转发 三、远程转发 四、 动态转发 五、AutoSSH 一、前言 SSH 是一种建立在应用层基础上的安全协议,利用SSH进行数据传输时也是较为可靠和安全的。当有明文数据传输时,为保障其安全&am…

什么是量子计算?

什么是量子计算? 量子计算机仍处于起步阶段,正在影响已经在经典计算机上运行的新一代模拟,现在使用 NVIDIA cuQuantum SDK 进行加速。 在史蒂夫乔布斯 (Steve Jobs) 推出可以放入口袋的计算机之前 27 年,物理学家保罗贝尼奥夫 (P…

前端基础知识html

一.基础标签 1.<h1>-<h6>:定义标题&#xff0c;h最大&#xff0c;h最小 2.<font>&#xff1a;定义文本的字体&#xff0c;尺寸&#xff0c;颜色 3.<b>&#xff1a;定义粗体文本 4.<i>&#xff1a;定义斜体文本 5.<u>&#xff1a;定义文本下…

增强现实(AR)和虚拟现实(VR)营销的未来:沉浸式体验和品牌参与

--- 如何将AR和VR技术应用于营销&#xff0c;以提高品牌知名度、客户参与度 增强现实&#xff08;AR&#xff09;和虚拟现实&#xff08;VR&#xff09;不再只是游戏。这些技术为品牌与受众互动提供了创新的方式。营销人员可以创造更好的客户体验&#xff0c;并为身临其境的故…

短剧APP搭建必备技巧大揭秘

在当今数字化时代&#xff0c;随着人们对视频内容的需求不断增长&#xff0c;短剧APP成为一种备受关注的新兴形式。短剧APP提供了一个平台&#xff0c;让用户可以快速、便捷地浏览各种精彩的短剧内容&#xff0c;吸引了大批年轻用户的关注。短剧APP的搭建不仅可以满足用户对短剧…

缓存雪崩问题及解决思路

实战篇Redis 2.7 缓存雪崩问题及解决思路 缓存雪崩是指在同一时段大量的缓存key同时失效或者Redis服务宕机&#xff0c;导致大量请求到达数据库&#xff0c;带来巨大压力。 解决方案&#xff1a; 给不同的Key的TTL添加随机值利用Redis集群提高服务的可用性给缓存业务添加降…

碳素光线疗法与宠物健康

碳素光线与宠物健康 生息在地球上的所有动物、在自然太阳光奇妙的作用下、生长发育。太阳光的能量使它们不断进化、繁衍种族。现在、生物能够生存、全仰仗于太阳的光线。太阳光线中、包含有动物健康所需要的极为重要的波长。因此、和户外饲养的动物相比、在室内喂养的观赏动物、…

重学SpringBoot3-SpringBoot可执行JAR的原因

更多SpringBoot3内容请关注我的专栏&#xff1a;《SpringBoot3》 期待您的点赞&#x1f44d;收藏⭐评论✍ 重学SpringBoot3-SpringBoot可执行JAR的原因 Spring Boot可执行JAR的结构打包运行JAR 包内部结构 工作原理优点总结 Spring Boot 的一个核心特性是它的可执行 JAR&#x…

leetcode热题100.柱状图中最大的矩形

Problem: 84. 柱状图中最大的矩形 文章目录 题目思路复杂度Code 题目 给定 n 个非负整数&#xff0c;用来表示柱状图中各个柱子的高度。每个柱子彼此相邻&#xff0c;且宽度为 1 。 求在该柱状图中&#xff0c;能够勾勒出来的矩形的最大面积。 示例 1: 输入&#xff1a;hei…

Flask后端框架搭建个人图库

Hello&#xff0c;我是"小恒不会java" 前言 最近发现自己有一些站点图片丢失&#xff0c;原来是用了人家的链接。考虑到使用对象存储容易被刷流量&#xff0c;可以用flask这种轻量级框架快速实现网页登陆操作&#xff0c;行&#xff0c;也就不考虑正式生产环境那些复…