Mysql中字段分割字符串(⼀⾏转多⾏)
t_customers 表中的⼀条记录:
需要的结果:
sql实现
SELECT
a.id,
a.username,
SUBSTRING_INDEX( SUBSTRING_INDEX( a.operid, ';', b.help_topic_id +1 ), ';',-1 ) AS ids
FROM
`t_customers` AS a
JOIN mysql.help_topic AS b ON b.help_topic_id < ( length( a.operid ) - length( REPLACE ( a.operid, ';', '' ) ) +1 );
如mysql.help_topic: help_topic_id 共有504个数值它们是内部的连续数列表,连续数列的最⼤值⼀定要⼤于符合分割的值的个数。------------------------------------------------------------------------------------------------------------------------------------
mysql 字段截取函数:
1、left(字段名,index) 从左边开始第index开始截取
mysql 字符串转数组2、right(字段名,index)从右边开始第index开始截取
3、substring(字段名,index)当index>0从左边开始截取直到结束当index<0从右边开始截取直到结束当index=0返回空
4、substring(字段名,index,len)从index开始,截取len长度
5、substring_index(字段名,str,count),str是截取的字段 count是从哪⾥开始截取(0从左边第0个开始,-1从右边第⼀个开始)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论