### 问题描述 mysql如何使用SUBSTRING_INDEX函数对对应的字符串实现列转行的效果? 我在用mysql的SUBSTRING_INDEX函数处理表中的一个字段值时遇到了这个问题,这个字段中的数据是如下这个样子(注意这是一个单元格内的数据长这个样子,不是多个单元格) 使用过【35869209395881】的号码清单: [20230608,广东,广州,19876298082],[20230609,广东,广州,19864391337],[20230610,广东,广州,19875475010] 使用过【86536704443634】的号码清单: [20230320,广东,广州,13660250915],[20230412,广东,广州,13527671189],[20230523,广东,广州,13527864794],[20230523,广东,广州,13602403001],[20230523,广东,广州,15975441679],[20230524,广东,广州,13760718971],[20230525,广东,广州,13710479054],[20230606,广东,广州,13710034067],[20230608,广东,广州,13416248767],[20230608,广东,广州,19864070445],[20230608,广东,广州,19876298082] 使用过【86855103086379】的号码清单: [20230407,广东,广州,17278756850],[20230407,广东,广州,19513761138],[20230407,广东,广州,19576161138],[20230408,广东,广州,13512761189],[20230408,广东,广州,13527671189],[20230524,广东,广州,13527864794],[20230525,广东,广州,13609703269],[20230610,广东,广州,19864070445],[20230610,广东,广州,19876298082],[20230612,广东,广州,15790403652] 使用过【86947206218694】的号码清单: [20230613,广东,广州,19876298082] ### 问题出现的环境背景及自己尝试过哪些方法 我的问题是出现在mysql处理这个表phone_number_demo中的IMEI_rel字段过程时遇到的, 当时我采用了SUBSTRING_INDEX函数进行拆分,但是我的处理方法最终只实现到了将[]内的内容拆分出来,【】中的序列号始终没有拆分出来。 ### 相关代码 SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(data, ',', 1), '[', -1) AS date, SUBSTRING_INDEX(SUBSTRING_INDEX(data, ',', 2), ',', -1) AS region, SUBSTRING_INDEX(SUBSTRING_INDEX(data, ',', 3), ',', -1) AS city, SUBSTRING_INDEX(SUBSTRING_INDEX(data, ',', -1), ']', 1) AS phone FROM ( SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(IMEI_rel, ']', n), '[', -1) AS data FROM phone_number_demo, (SELECT 1 AS n UNION ALL SELECT 2 UNION ALL SELECT 3) AS numbers WHERE IMEI_rel LIKE '使用过%' ORDER BY IMEI_rel, n ) AS subquery; ### 你期待的结果是什么?实际看到的错误信息又是什么? 我的目的是将【】和[]中的数据拆分出来并且一一对应,实现的效果为 序列号 日期 省份 城市 手机号 XXX XXX XXX XXX XXX 最终拆分出来的效果是 根据一楼评论的sql跑出来的数据是如下这个样子的  