以上SQL语句中,我们首先使用JOIN将测试表和数字表连接起来,然后使用SUBSTRING_INDEX函数将逗号分隔的数据拆分成多行,并插入到新的行中。 步骤四:查看拆分后的数据 最后,我们可以查询表中的数据,查看拆分后的结果。下面是查询数据的SQL语句: SELECT*FROMtest_table; 1. 运行以上查询语句后,我们可以看到原始的逗号分隔...
SELECTFIND_IN_SET(',',field_name)FROMtable_name; 1. 2. 步骤3:使用SUBSTRING_INDEX()函数拆分字段到多行 最后,我们使用SUBSTRING_INDEX()函数来根据逗号将字段拆分为多行。这个函数接受3个参数:原始字段、分隔符、以及要获取的部分(这里是根据逗号拆分的第几部分)。假设我们要处理的字段是field_name: SELECT...
获取该字段最多可以分割成为几个字符串: SELECT MAX(LENGTH(a.`name`) - LENGTH(REPLACE(a.`name`, ',', '' )) + 1) FROM `test` a; 1 创建临时表,并给临时表添加数据: 注意: 临时表必须有一列从 0 或者 1 开始的自增数据 临时表表名随意,字段可以只有一个 临时表示的数据量必须比 MAX(LENGTH...
1、切换对应的分隔符,这里用的是逗号 2、切换对应的对应的表,这里用的是 company 3、切换对应的对应的字段,这里用的是 shareholder 4、切换对应的关联字段 id
执行后数据表如下: 总结 在实际开发中,当需要对包含多个字段连接符的数据进行查询与迁移时,可以使用SQL中的SUBSTRING_INDEX函数结合一些辅助表的特性进行数据分割和迁移。通过合理的SQL编写,可以有效处理数据关联与拆分,达到迁移数据的目的。
mysql拆分逗号一列变多行 需求: SELECTDISTINCTsubstring_index(substring_index(a.value,',', b.help_topic_id+1),',',-1)FROMTABLEaINNERJOINmysql.help_topic bONb.help_topic_id<(length(a.value)-length(replace(a.value,',',''))+1)
mysql原⽣sql处理,按逗号拆分列为多⾏举例:id value 11,2,3,4 22,3,4,5,6 拆分成:id value 11 22 33 44 55 66 select distinct substring_index(substring_index(a.value,',',b.help_topic_id+1),',',-1)from table a join mysql.help_topic b on b.help_topic_id < (length(a...
查询的主要思路为,原表与一个包含连续自增长字段的表进行join,得到字符串分隔后的索引值,其中length( a.name ) - length( REPLACE ( a.name, ',', '' ) ) + 1语句获得字符串逗号分隔之后得到的数据长度,两表关联之后,会得到相应行数的数据。比如, 1yang,zheng.song 在join之后会得到: IDNAMEHELP_TOP...
这个代码将以逗号为分隔符,将field_name字段值进行拆分,并将拆分后的第一个值作为一个新的列value返回。 如果你希望将拆分后的多个值分别展示为多行,可以进行多次拆分,并使用UNION ALL操作符将结果合并。下面是一个示例代码: SELECTSUBSTRING_INDEX(SUBSTRING_INDEX(field_name,',',1),',',-1)ASvalueFROMyour...