目录
分割函数
一、substr()函数:用来截取数据库某个字段对应数据的一部分
1、substr()函数格式
格式一:substr(string str,int num) //substr(截取字符串,开始字符)
格式二:substr(string str,int num,int len) //substr(截取字符串,开始字符,截取长度)
2、substr()函数用法
用法一:select substr(str,pos)或select substr(str from pos)
select substr('abcde1234567890',6) //1234567890
select substr('abcde1234567890' FROM 6 ) //1234567890
用法二: select substr(str,pos,len)或select substr(str from pos len)
select substr('abcde1234567890',6,5) //12345 从第六位取五位
select substr('abcde1234567890',-2,5) //90 从倒数第二位开始取五位
select substr('abcde1234567890' FROM 6 FOR 5) //12345 从第六位取五位
select substr('abcde1234567890' FROM -3 FOR 5) //890 从倒数第三位开始取五位
3、MySQL中substring()函数与substr()函数用法一致。
MySQL中mid()函数与substr()函数用法一致。
二、left()函数:从左开始截取字符串
格式:left(string str,int len) //left(截取字符串,截取长度)
select left('十一年,是我最遥远的从前',6) //十一年,是我
三、right()函数:从右开始截取字符串
格式:right(string str,int len) //left(截取字符串,截取长度)
select right('十一年,是我最遥远的从前',6) //最遥远的从前
连接函数
四、substring_index()函数:按关键字进行读取
格式:substring_index(str,delim,num)//substring_index(被截取字符串,关键字,关键字次数)
方法一:截取第一个'.'之前的所有字符
select substring_index('塞纳河畔.左岸的咖啡.我手一杯.品尝你的美','.',1) //塞纳河畔
方法二:截取倒数第一个'.'之后的所有字符
select substring_index('塞纳河畔.左岸的咖啡.我手一杯.品尝你的美','.',1) //品尝你的美
方法三:关键字没有,返回所有字符
select substring_index('塞纳河畔.左岸的咖啡.我手一杯.品尝你的美','.',1)
//塞纳河畔.左岸的咖啡.我手一杯.品尝你的美
方法四:如关键字次数为0,则返回空
select substring_index('塞纳河畔.左岸的咖啡.我手一杯.品尝你的美','.',0) //空
例子:先返回塞纳河畔.左岸的咖啡.我手一杯;之后返回我手一杯
select substring_index(substring_index('塞纳河畔.左岸的咖啡.我手一杯.品
尝你的美','.',3),'.',-1) //我手一杯
五、concat()函数:链接字符串
格式:concat('字符串一','字符串二','字符串三',...)
select CONCAT('塞纳河畔?','左岸的咖啡?','我手一杯?','品尝你的美')
//塞纳河畔?左岸的咖啡?我手一杯?品尝你的美
六、concat_ws()函数:链接字符串
格式 :concat_ws('关键字','字符串一','字符串二','字符串三',...)//连接字符串,之间以?分割
select CONCAT_WS('?','塞纳河畔','左岸的咖啡','我手一杯','品尝你的美')
//塞纳河畔?左岸的咖啡?我手一杯?品尝你的美
数字函数
七、locate()函数:字段查询,返回索引
格式 一:locate('关键字','字符串') //返回关键字在字符串中第一次出现的索引位置
格式二:locate('关键字','字符串','count') //返回关键字在字符串中count开始第一次出现的索引位置
select locate('str','sstringstring') //2
select locate('str','sstringstring',3) //8
八、format()函数
格式:format('关键字','字符串') //数字格式化,保留n位小数,之后四舍五入
SELECT FORmat('3.1415926',2) //3.14
SELECT FORmat('3.1415926',3) //3.142
九、 find_in_set()函数
格式:find_in_set('s1','s2') //字符串s1在s2中的位置
SELECT FIND_IN_SET('左','塞,纳,河,畔,左,岸,的,咖,啡') //5
日期函数
十、date_format()函数
格式:date_format(日期,格式) //按格式分割日期
备注:Y:年(四位) y:年(后两位) m:月 d:日 h:时 i:分 秒:s
select date_format('2022:5:5 6:7:8','%Y-%m-%d' ) //2022-05-05
select date_format('2022:5:5 6:7:8','%y-%m-%d' ) //22-05-05
select date_format('2022:5:5 6:7:8','%h:%i:%s' ) //06:07:08
select date_format('2022:5:5 6:7:8','%Y-%m-%d:%h:%i:%s' ) //2022-05-05 06:07:08