MySQL--MySQL函数

前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除

MySQL函数

一、MySQL函数简介

函数表示对输入参数值返回一个具有特定关系的值 ,MSOL提供了大量丰富的函数,在进行数据库管理以及数据的查询和操作时将会经常用到各种函数。通过对数据的处理,数据库功能可以变得更加强大,可以更加灵活地满足不同用户的需求。各类函数从功能方面主要分为++数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数和加密函数等其他函数++

二、数学函数

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

**ABS(X)**返回X的绝对值;

sql 复制代码
 mysql> select ABS(2),ABS(-3.3),ABS(-33);
 # 返回------  2    3.3    33

**PI()**返回圆周率π的值。默认显示小数位6位;

sql 复制代码
 mysql> select pi();
 # 返回------  3.141593

2、平方根函数SQRT(X)和求余函数MOD(X,Y)

**SQRT(X)**返回非负数x的二次方根;

sql 复制代码
 mysql> select sqrt(9),sqrt(40),sqrt(-40);
 # 返回------  3    6.324555320336759    NULL

**MOD(X)**返回x被y除后的余数,MOD()对于带有小数部分的数值也起作用;

sql 复制代码
 mysql> select mod(31,8),mod(234,10),mod(45.5,6);
 # 返回------  7    4    3.5

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

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

sql 复制代码
 mysql> select ceil(-3.35),ceiling(3.35);
 # 返回------  -3    4

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

sql 复制代码
 mysql> select floor(-3.35),floor(3.35);
 # 返回------  -4    3

4、获取随机数的函数RAND()和RAND(X)

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

sql 复制代码
 mysql> select rand(),rand(),rand();
 # 返回------  0.4599793697334634    0.9860691958908636      0.5504079009875729

不带参数的RAND()每次产生的随机数值是不同的

sql 复制代码
 mysql> select rand(10),rand(10),rand(11);
 # 返回------  0.6570515219653505    0.6570515219653505    0.907234631392392

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

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

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

sql 复制代码
 mysql> select round(-1.14),round(-1.67),round(1.14),round(1.66);
 # 返回------  -1    -2    1    2

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

sql 复制代码
 mysql> select round(1.38,1),round(1.38,0),round(232.38,-1),round(232.38,-2);
 # 返回------  1.4     1    230    200

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

sql 复制代码
 mysql> select truncate(1.31,1),truncate(1.99,1),truncate(1.99,0),truncate(19.99,-1);
 # 返回------  1.3    1.9    1    10

6、符号函数SIGN(X)

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

sql 复制代码
 mysql> select sign(-21),sign(0),sign(21);
 # 返回------  -1    0    1

7、幂运算函数POW(X,Y)、POWER(X,Y)和EXP(X)

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

sql 复制代码
 mysql> select pow(2,2),power(2,2),pow(2,-2),power(2,-2);
 # 返回------  4    4    0.25    0.25

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

sql 复制代码
 mysql> select exp(3),exp(-3),exp(0);
 # 返回------  20.085536923187668    0.049787068367863944    1

8、对数运算函数 LOG(x)和 LOG10(x)

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

sql 复制代码
 mysql> select log(3),log(-3);
 # 返回------  1.0986122886681098    NULL

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

sql 复制代码
 mysql> select log10(2),log10(100),log10(-100);
 # 返回------  0.3010299956639812    2    NULL

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

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

sql 复制代码
mysql> select radians(90),radians(180);
# 返回------  1.5707963267948966    3.141592653589793

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

sql 复制代码
mysql> select degrees(pi()),degrees(pi() / 2);
# 返回------   180    90

10、正弦函数 SIN(x)和反正弦函数 ASIN(x)

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

sql 复制代码
mysql> select sin(1),round(sin(pi()));
# 返回------  0.8414709848078965    0

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

sql 复制代码
mysql> select asin(0.8414709848078965),asin(3);
# 返回------  1    NULL

11、余弦函数 COS(x)和反余弦函数 ACOS(x)

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

sql 复制代码
mysql> select cos(0),cos(pi()),cos(1);
# 返回------  1    -1    0.5403023058681398

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

sql 复制代码
mysql> select acos(1),acos(0),round(acos(0.5403023058681398));
# 返回------  0    1.5707963267948966    1

12、正切函数、反正切函数和余切函数

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

sql 复制代码
mysql> select tan(0.3),round(tan(pi()/4));
# 返回------  0.30933624960962325     1

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

sql 复制代码
mysql> select atan(0.30933624960962325),atan(1);
# 返回------  0.3    0.7853981633974483

三、字符串函数

1、计算字符串字符数与长度

CHAR LENGTH(str) 返回值为字符串str所包含的字符个数。一个多字节字符算作一个单字符。

sql 复制代码
​mysql> select char_length('date'),char_length('egg');
# 返回------ 4    3

LENGTH(str) 返回值为字符串的字节长度 ,使用utf8 (UNICODE的一种变长字符编码,又称万国码 )编码字符集时,一个汉字是3字节,一个数字或字母算1字节

sql 复制代码
mysql> select length('date'),length('egg');
# 返回------ 4    3

2、合并字符串函数CONCAT(s1,s2)、CONCAT_WS(x,s1,s2,...)

未完...

相关推荐
百***92029 小时前
【MySQL】MySQL库的操作
android·数据库·mysql
q***76669 小时前
Spring Boot 从 2.7.x 升级到 3.3注意事项
数据库·hive·spring boot
信仰_2739932439 小时前
Redis红锁
数据库·redis·缓存
人间打气筒(Ada)9 小时前
Centos7 搭建hadoop2.7.2、hbase伪分布式集群
数据库·分布式·hbase
心灵宝贝10 小时前
如何在 Mac 上安装 MySQL 8.0.20.dmg(从下载到使用全流程)
数据库·mysql·macos
想睡hhh10 小时前
mysql索引——理解索引机制及操作
mysql
剑动山河10 小时前
ubuntu 升级mysql由mysql5.7.42 升级到8.4.0
mysql·ubuntu·adb
奋斗的牛马10 小时前
OFDM理解
网络·数据库·单片机·嵌入式硬件·fpga开发·信息与通信
忧郁的橙子.11 小时前
一、Rabbit MQ 初级
服务器·网络·数据库
杰杰79811 小时前
SQL 实战:用户访问 → 下单 → 支付全流程转化率分析
数据库·sql