【问题标题】:How to split a string with multiple characters into seperate columns in SQL?如何将具有多个字符的字符串拆分为 SQL 中的单独列?
【发布时间】:2023-01-31 23:40:23
【问题描述】:

我有一张看起来像这样的表:

Cust_ID Customer_Group Company City Country
1927373 Microsoft - Liverpool - United Kingdom
1928373 Google - Mumbai - India

我试图弄清楚如何将破折号分开以将不同的值放入不同的列中。因此,第一个破折号 ('-') 之前的第一个词将填充“公司”列。我还想在第一个破折号之后获取单词并将其填充到“城市”列中。最后,我还想在第二个破折号之后获取字符串的最后一部分,以将其填充到我的“国家/地区”列中。

所以目标是像这样更新表:

Cust_ID Customer_Group Company City Country
1927373 Microsoft - Liverpool - United Kingdom Microsoft Liverpool United Kingdom
1928373 Google-Mumbai-India Google Mumbai India

【问题讨论】:

    标签: sql oracle-sqldeveloper toad


    【解决方案1】:
    UPDATE your_table
    SET Company = SUBSTRING(Customer_Group, 1, CHARINDEX('-', Customer_Group) - 1),
        City = SUBSTRING(Customer_Group, CHARINDEX('-', Customer_Group) + 1, CHARINDEX('-', Customer_Group, CHARINDEX('-', Customer_Group) + 1) - CHARINDEX('-', Customer_Group) - 1),
        Country = SUBSTRING(Customer_Group, CHARINDEX('-', Customer_Group, CHARINDEX('-', Customer_Group) + 1) + 1, LEN(Customer_Group))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-22
      • 2020-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-26
      相关资源
      最近更新 更多