【问题标题】:How to split column into multiple rows (with pipe as separator) in mysql?如何在mysql中将列拆分为多行(以管道作为分隔符)?
【发布时间】:2018-06-05 06:17:20
【问题描述】:

我有这样的 table1:

col_raw

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

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

表2:

 Column Names: Phone Number | Gender | Hoby | Zodiak

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

【问题讨论】:

  • 除非我把问题理解得很错误,你能检查我的答案吗

标签: mysql sql substring


【解决方案1】:

如果你总是有 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;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-18
    • 1970-01-01
    • 2013-02-19
    相关资源
    最近更新 更多