Mysql字符串截取及获取指定字符串中的数据
前言本人遇到一个需求,需要在MySql的字段中截取一段字符串中的特定字符,类似于正则表达式的截取,苦于没有合适的方法,百度之后终于找到一个合适的方法substring_index('.sqlstudy..', '.', -2)
强烈推荐该方法获取含有特定字符的数据。
substring_index(input,split,index)input为要截取的字符,split为分隔符,Index为要截取第index个分隔符左(index为正)或右(index为负)的字符串。
拿个人的一个字符串举例'Provider="RiskManagement" finalScore="65" RGID="100397278"' 我要获取finalScore的值
-- 1-获取finalScore右边的字符 select substring_index('Provider="RiskManagement" finalScore="65" RGID="100397278"','finalScore="',-1); -- 2-再获取" RGID="左边的字符 select substring_index(substring_index('Provider="RiskManagement" finalScore="65" RGID="100397278"','finalScore="',-1),'" RGID="',1);
结果165" RGID="100397278"
结果265
MySQL 字符串截取函数left(), right(), substring(), substring_index()。还有 mid(), substr()。其中,mid(), substr() 等价于 substring() 函数,substring() 的功能非常强大和灵活。
1. 字符串截取left(str, length)
mysql> select left('sqlstudy.', 3); +-------------------------+ | left('sqlstudy.', 3) | +-------------------------+ | sql | +-------------------------+
2. 字符串截取right(str, length)
mysql> select right('sqlstudy.', 3); +--------------------------+ | right('sqlstudy.', 3) | +--------------------------+ | | +--------------------------+
3. 字符串截取substring(str, pos); substring(str, pos, len)
3.1 从字符串的第 4 个字符位置开始取,直到结束。
mysql> select substring('sqlstudy.', 4); +------------------------------+ | substring('sqlstudy.', 4) | +------------------------------+ | study. | +------------------------------+
3.2 从字符串的第 4 个字符位置开始取,只取 2 个字符。
mysql> select substring('sqlstudy.', 4, 2); +---------------------------------+ | substring('sqlstudy.', 4, 2) | +---------------------------------+ | st | +---------------------------------+
3.3 从字符串的第 4 个字符位置(倒数)开始取,直到结束。
mysql> select substring('sqlstudy.', -4); +-------------------------------+ | substring('sqlstudy.', -4) | +-------------------------------+ | . | +-------------------------------+
3.4 从字符串的第 4 个字符位置(倒数)开始取,只取 2 个字符。
mysql> select substring('sqlstudy.', -4, 2); +----------------------------------+ | substring('sqlstudy.', -4, 2) | +----------------------------------+ | .c | +----------------------------------+
我们注意到在函数 substring(str,pos, len)中, pos 可以是负值,但 len 不能取负值。
4. 字符串截取substring_index(str,delim,count)
4.1 截取第二个 '.' 之前的所有字符。
mysql> select substring_index('.sqlstudy..', '.', 2); +------------------------------------------------+ | substring_index('.sqlstudy..', '.', 2) | +------------------------------------------------+ | .sqlstudy | +------------------------------------------------+
4.2 截取第二个 '.' (倒数)之后的所有字符。
mysql> select substring_index('.sqlstudy..', '.', -2); +-------------------------------------------------+ | substring_index('.sqlstudy..', '.', -2) | +-------------------------------------------------+ | . | +-------------------------------------------------+
4.3 如果在字符串中找不到 delim 参数指定的值,就返回整个字符串
mysql> select substring_index('.sqlstudy..', '.coc', 1); +---------------------------------------------------+ | substring_index('.sqlstudy..', '.coc', 1) | +---------------------------------------------------+ | .sqlstudy.. | +---------------------------------------------------+
4.4 截取一个表某个字段数据的中间值 如该字段数据为 1,2,3
mysql> select substring_index(substring_index(该字段, ',', 2) , ',', -1) from 表名; +--------------------------------------------------------------+ | substring_index(substring_index(该字段, ',', 2); , ',', -1)| +--------------------------------------------------------------+ | 2 | +--------------------------------------------------------------+
以上所述是长沙网络推广给大家介绍的Mysql字符串截取及获取指定字符串中的数据,希望对大家有所帮助,如果大家有任何疑问请给我留言,长沙网络推广会及时回复大家的。在此也非常感谢大家对狼蚁SEO网站的支持!
如果你觉得本文对你有帮助,欢迎网络推广网站推广转载,烦请注明出处,谢谢!
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程