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为正数;
原文地址:https://www.cnblogs.com/adkinscara/p/10847962.html