微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MySQL的字符串截取函数

MysqL字符串截取函数有:left(),right(),substring(),substring_index(),还有mid() ,subset()。但mid() ,subset()和substring()功能一样。所以会用substring()就行了。

为方便起见,所以在本次MysqL连接中设置了一个用户自定义变量,字符串@str,以方便下面多次对其的操作。

1、自定义变量设定的sql

sql">set @str:='www.hao123.com.cn'; -- 注意:MysqL中字符下标从 1 开始,如本例中str下标为:1~17。不同于编程语言中数组下标从0开始。

2、left()

sql">-- left(str,len) 
-- 从字符串的第3个位置开始截取
select left(@str,3)  -- 结果:www

3、right()

sql">-- right(str,len)
-- 从字符串倒数(右侧)第3个位置开始截取
select right(@str,3)   -- 结果:.cn

4、substring()

sql">-- substring(str FROM pos FOR len)
-- 从字符串的第1个位置,截取长度为4
select substring(@str from 1  for 4)  -- 结果:www.

-- substring(str FROM pos)
-- 从字符串的第4个位置,到结尾为止
select substring(@str from 4) -- 结果:.hao123.com.cn

-- substring(str,pos,len)
-- 从字符串的第1个位置,截取长度为4
select substring(@str,1,4) -- 结果:www.

-- substring(str,pos)
-- 从字符串的第4个位置,到结尾为止
select substring(@str,4) -- 结果:.hao123.com.cn

sql">-- substring(str FROM pos FOR len)
-- 从字符串倒数第5个位置开始截取截取长度为3
select substring(@str from  -5 for 3)  -- 结果:om.

-- substring(str FROM pos)
-- 从字符串倒数第4个为止开始截取,到字符串结束
select substring(@str from -4) -- 结果:m.cn

-- substring(str,len)
-- 从字符串倒数第5个位置开始截取截取长度为3
select substring(@str,-5,3) -- 结果:om.

-- substring(str,pos)
-- 从字符串倒数第4个为止开始截取,到字符串结束
select substring(@str,-4) -- 结果:m.cn

5、substring_index()

sql">-- substring_index(str,delim,count)
-- 从字符串第1个位置开始,到关键字出现的第2个位置的前(左)1位为止
select substring_index(@str,'.',2)  -- 结果:www.hao123
-- 如果找不到关键字,则返回整个字符串
select substring_index(@str,'。',2)  -- 结果:www.hao123.com.cn
select substring_index(@str,10)  -- 结果:www.hao123.com.cn
sql">-- substring_index(str,count)
-- 注意:取出开始位置:关键字倒数第2次出现的位置的下(右)1位
--      取出结束位置:给定字符串最后1位
select substring_index(@str,-2)  -- 结果:com.cn 
-- 找不到关键字,则返回整个字符串
select substring_index(@str,-10)  -- 结果:www.hao123.com.cn 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐