MysqL字符串截取函数有:left(),right(),substring(),substring_index(),还有mid() ,subset()。但mid() ,subset()和substring()功能一样。所以会用substring()就行了。
为方便起见,所以在本次MysqL连接中设置了一个用户自定义变量,字符串@str,以方便下面多次对其的操作。
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 举报,一经查实,本站将立刻删除。