Note:
例如:str="0-35";//一定要为字符,若为str=0-35,通过substring_index()之后会出现为空的情况。(本人花了两个小时来找原因,终于找到了
)
可以通过mysql模式下,输入query语句:select substring_index(0-35,"-",1) from dual;来查看,
总之确保截取的要为字符串。
select * from hrm_officer where age between substring_index(str,"-",1) and substring_index(str,"-",-1); //获取符号-第一次出现之前的字符和倒数第一次出现之后的字符
详细介绍如下:
现有如下需求:需要将字符串
1,2,3,4,5,6,7
拆分成1 2 3 4 5 6 7
分析:
为了完成上述功能,在MySQL中提供了一些字符串操作的函数,其中SUBSTRING_INDEX(str, delim, count)
str: 要处理的字符串
delim: 分割符
count: 计数 如果为正数,则从左开始数,如果为负数,则从右开始数
例:
str = "www.baidu.com";
SELECT substring_index("www.baidu.com",".", 1); #www