mysql函数substring_index的用法

substring_index(“待截取有用部分的字符串”,“截取数据依据的字符”,截取字符的位置N)

案例
SELECT SUBSTRING_INDEX(‘15,151,152,16’, ’ , ’ , 1); //结果是15
以第一个逗号为分割截取

SELECT SUBSTRING_INDEX(‘15,151,152,16’, ’ , ’ , 2); //结果是15,151
//以第二个逗号为分割截取

SELECT SUBSTRING_INDEX(‘15,151,152,16’, ’ , ’ , -1); //结果是16
//从后面开始算第一个逗号

根据自己设定顺序排序

//根据自己设定的顺序进行排序
select id,substring_index('11000,10000,10001,3602,3600',id,1)  from test 
where id in (10000,3602,3600,10001,11000)          
order by substring_index('11000,10000,10001,3602,3600',id,1) ;

结果是
mysql函数substring_index的用法_第1张图片
substring_index( ‘1,3,2,4,6,5’, id, 1 ) 获取每个id前面的数据,比如:id=1 对于数据“1,3,2,4,6,5”,没有数据sub_data=‘’

id=2 对于数据“1,3,2,4,6,5”,sub_data=‘1,3,’

ORDER BY substring_index( ‘1,3,2,4,6,5’, id, 1 ); 会根据你​“1,3,2,4,6,5”的顺序进行排序

你可能感兴趣的:(Mysql)