mysql - 如何在 mysql 中将列拆分为多行(以管道作为分隔符)?

标签 mysql sql substring

我有这样的表 1:

col_raw

   |    COL1  |COL2|    COL3  |  COL4  |
   -------------------------------------
   |0123456789|Male|Basketball|Aquarius|
   -------------------------------------

我想将 table1 转换为包含此列标题名称的 table2

表 2:

 Column Names: Phone Number | Gender | Hoby | Zodiak

如果您在 mysql 中进行过这样的查询,请告诉我。谢谢!

最佳答案

如果你总是有 4 列,你可以使用下面的

select substring_index(column_name,'|',1) firstcol,
substring_index(substring_index(column_name,'|',2),'|',-1) secondcol,
substring_index(substring_index(column_name,'|',3),'|',-1) thirdcol,
substring_index(substring_index(column_name,'|',4),'|',-1) fourthcol
from table_name;

要理解以上内容,您可以尝试运行以下查询,您将看到如何在上述查询中多次使用 substring_index 来获取所需的详细信息

select substring_index(column_name,'|',1),
substring_index(column_name,'|',2),
substring_index(column_name,'|',3),
substring_index(column_name,'|',4)
from table_name;

关于mysql - 如何在 mysql 中将列拆分为多行(以管道作为分隔符)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50693264/

相关文章:

php - 使用 PostgreSQL 计数查询优化 PHP 脚本

SQL Server : How to group by substring

string - 在多个单词中匹配一个字符串

javascript - 使用 git bash 错误设置 app.js

sql - 在 t-sql 中验证日期?

MySQL - 选择一对多关系中具有特定匹配的记录

python - 将字符串转换为单词数组 - Python

mysql - 使用 Flyway 时的幂等迁移

mysql - ColdFusion 9 ORM : Default value does not work for strings

mysql - 为什么asp.net网站管理工具会提示超时信息(mysql db)?