2021-08-16

MYSQL函数

(一)数学函数和控制流函数

1.概念:数学函数是用来处理数值数据的运算,MySQL 中主要的数学函数有绝对值函数、三角函数、对数函数和随机函数等。

在这里插入图片描述
在这里插入图片描述

注意:使用数学函数时,如有错误发生,该函数将返回null

示例:

-- 使用ceil(x)和ceiling(x)返回不小于x的最小整数
select ceil(2)和ceil(2.75),ceil(-2)和ceil(-2.75

运行结果如下:

在这里插入图片描述
示例:

--使用 floor(x) 返回不大于 x 的最大整数。
select floor(2), floor(2.75), floor(-2), floor(-2.75)

执行结果如下:
在这里插入图片描述
示例:

--使用 rand() 产生 0~1 的浮点数。
select rand(),rand(),rand()

执行结果如下:
在这里插入图片描述
示例:

--用 rand(x) 产生 0~1 的浮点数。
select rand(5),rand(5),rand(11)

执行结果如下:
在这里插入图片描述
示例:

--使用 round(x) 返回最接近于参数 x 的整数。
select round(-2.5), round(-2.25), round(-2.75), round(2.25), round(2.75)

执行结果如下:
在这里插入图片描述
示例:

--使用 round(x,y) 对参数 x 进行四舍五入的操作,返回值保留小数点后面指定的 y 位。
select round(-2.55,1),round(-2.25,3),round(375.49,-1),round(375.49,-1)

执行结果如下:
在这里插入图片描述
示例:

--使用 truncate(x,y) 对参数 x 进行截取操作。
select truncate(2.25,1),truncate(2.99,1),truncate(2.99,0),truncate(99.99,-1)

执行结果如下:
在这里插入图片描述

(二)控制函数

控制流函数也被称为“条件判断函数”,其根据自身满足的条件不同,执行相应的流程
示例:

--使用 IF() 和 IFNULL() 控制流函数显示所有线路的线路号、所属公司和线路类型(“长途”和“短途”)。
select lineNo 线路 , ifnull(company,' 待分配 ') 所属公司 ,if(miles>=22,' 长途 ',' 短途 ') 线路类型 
from line

执行结果如下:
在这里插入图片描述

(三)字符串函数

字符串函数主要是用来处理字符串数据,MySQL 字符串函数主要有计算字符长度函数、字符串合并函数、字符串转换函数、字符串比较函数以及查找指定字符串位置函数等。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(四)字符串函数应用

示例:

--使用 char_length(str) 和 length(str) 计算字符个数和字节个数。
select char_length('test'),char_length(' 测试 '),length('test'),length(' 测试 ')

执行代码如下:
在这里插入图片描述
示例:

--使用 concat(s1,s2,…) 函数连接多个字符串。
select concat('My','SQL'), concat('My',null,'SQL'), concat(' 我 ',' 爱 ','MySQL')

执行代码如下:
在这里插入图片描述
示例:

--使用 insert(str,pos,len,newstr) 函数进行字符串替换操作。
select insert('first',2,3,'second') column1, insert('first',-1,2,'second') column2, insert('first',6,3,'second') column3 ,insert('first',3,20,'second') column4,
insert('first',3,null,'second') column5

执行代码如下:
在这里插入图片描述
示例:

--使用 substr(str,pos,len) 截取原始字符串 str 中从 pos 开始的 len 长度字符串
select substr('MySQL',3,2) column1, substr('MySQL',3) column2, substr('MySQL',-4,3) column3, substr('MySQL',-5)  column4

执行代码如下:
在这里插入图片描述
示例:

--使用 locate(s1,str) 匹配子字符串 s1 在字符串 str 中第一次出现的位置。
select locate('my','MySQL'),locate('SQL','MySQLMySQL'),locate('sy','MySQL')

执行结果如下:
在这里插入图片描述
示例:

--使用 elt(n,s1,s2,…,sn) 返回指定位置的字符串。
select  elt(3,'ie','ef','chrome','360'),elt(3,'ie','ef')

执行结果如下:
在这里插入图片描述
示例:

--使用 field(s,s1,s2,…sn) 返回指定字符串位置。
select field( ' M y' , ' my1' , ' mY 2' , ' my' , ' M yS Q L' ) column1, field( ' M y' , ' myS Q L' , ' php' ) column2,field(null,'s1','s2') colmn3

执行结果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值