Mysql string split(Mysql字符串拆分)
                            本文介绍了Mysql字符串拆分的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
                        
                        问题描述
可能的重复:
Mysql 可以拆分列吗? 
我有一个字符串列和一个逗号分隔的列,如下所示
I have one string column and one comma separated column as below
例如,我有桌子,
Col1 | col2
1    | a,b,c
2    | d,e
从上面,我想要
Col1,Col2
1   ,a
1   ,b
1   ,c
2   ,d
2   ,e
如何实现这一点
这不是完全重复.
推荐答案
您可以使用存储过程来做到这一点
You can do this using a stored procedure
DELIMITER $$
CREATE FUNCTION strSplit(x VARCHAR(65000), delim VARCHAR(12), pos INTEGER) 
RETURNS VARCHAR(65000)
BEGIN
  DECLARE output VARCHAR(65000);
  SET output = REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, pos)
                 , LENGTH(SUBSTRING_INDEX(x, delim, pos - 1)) + 1)
                 , delim
                 , '');
  IF output = '' THEN SET output = null; END IF;
  RETURN output;
END $$
CREATE PROCEDURE BadTableToGoodTable()
BEGIN
  DECLARE i INTEGER;
  SET i = 1;
  REPEAT
    INSERT INTO GoodTable (col1, col2)
      SELECT col1, strSplit(col2, ',', i) FROM BadTable
      WHERE strSplit(col2, ',', i) IS NOT NULL;
    SET i = i + 1;
    UNTIL ROW_COUNT() = 0
  END REPEAT;
END $$
DELIMITER ;
                        这篇关于Mysql字符串拆分的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
				 沃梦达教程
				
			本文标题为:Mysql字符串拆分
				
        
 
            
        
             猜你喜欢
        
	     - SQL 临时表问题 2022-01-01
 - 以一个值为轴心,但将一行上的数据按另一行分组? 2022-01-01
 - 如何将 SonarQube 6.7 从 MySQL 迁移到 postgresql 2022-01-01
 - 导入具有可变标题的 Excel 文件 2021-01-01
 - 使用 Oracle PL/SQL developer 生成测试数据 2021-01-01
 - 远程 mySQL 连接抛出“无法使用旧的不安全身份验证连接到 MySQL 4.1+"来自 XAMPP 的错误 2022-01-01
 - 如何使用 pip 安装 Python MySQLdb 模块? 2021-01-01
 - 在SQL中,如何为每个组选择前2行 2021-01-01
 - 更改自动增量起始编号? 2021-01-01
 - 如何将 Byte[] 插入 SQL Server VARBINARY 列 2021-01-01
 
						
						
						
						
						
				
				
				
				