我有这样的表 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/