Mysql 截取字符串取子集的函数应用

Posted adkinscara

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql 截取字符串取子集的函数应用相关的知识,希望对你有一定的参考价值。

mysql 字符串截取函数:left(),right(), substring(), substring_index(), mid(), substr() 。

语法:

left(str, length) #str 原字符串; length 截取长度;从左到右,截取length长度的子串。eg:select left(‘BJAA6024-Cara‘, 3); 结果:‘BJA’

right(str, length) #str 原字符串; length 截取长度;从右到左,截取length长度的子串。eg:select left(‘BJAA6024-Cara‘, 3); 结果:‘ara’

substring(str, pos)#str 原字符串; pos 开始截取的位置(正数表示从左向右数第几个,负数相反是从右向左,位置从1开始数

#eg:select substring(‘BJAA6024-Cara‘, 3); 结果:‘A6024-Cara‘;   select substring(‘BJAA6024-Cara‘, -3); 结果:‘BJAA6024-C‘;

substring(str, pos, len)#str 原字符串; pos 开始截取的位置(正数表示从左向右数第几个,负数相反是从右向左,位置从1开始数); len截取长度(只能为正值);

#eg:select substring(‘BJAA6024-Cara‘, 3,4); 结果:‘A602‘;

substring_index(str,delim,count)#str 原字符串;delim 分隔符(如果在字符串中找不到 delim 参数指定的值,就返回整个字符串);count 计数(正数表示从左往右数,第count个分隔符的左边的全部内容;负数相反,就是从右边开始数,第count个分隔符右边的所有内容);

#eg: select substring_index(‘https://cn.bing.com/‘, ‘.‘, 2); 结果:‘https://cn.bing’;取从左向右数第二个“.”符号的左侧数据;

#eg: select substring_index(‘https://cn.bing.com/‘, ‘.‘, 2); 结果:‘com/’; 取从右向左数第二个“.”符号的右侧数据;

#eg: select substring_index(‘https://cn.bing.com/‘, ‘-‘, 2); 结果:‘https://cn.bing.com/‘;在原串中没有找到‘-’符号,返回原串;

mid(str,pos,length)/mid(str,pos),substr(str,pos,length),使用方法均同substring(),区别:pos为正数;

 

以上是关于Mysql 截取字符串取子集的函数应用的主要内容,如果未能解决你的问题,请参考以下文章

mysql字符串的常用函数(截取和拼接)

MySql常用函数

MYSQL中使用sql函数怎样截取字符串

mysql 截取指定位置后面的所有的字符

MySql字段截取

mysql截取子串后更新