【问题标题】:SQL: Split string by delimiter multiple times into new columnsSQL:通过分隔符多次将字符串拆分为新列
【发布时间】:2017-04-07 11:40:07
【问题描述】:

我有这样的 id 和相应的字符串:

id    place
234   USA_NY_Buffalo

我想将位置字符串分成三个字符串,每个字符串都有自己的列:

id    Country  State  City
234   USA      NY     Buffalo

当我尝试像这样拆分字符串时:

SELECT id, SPLIT(place,"_") FROM mytable

我明白了

id    place
234   USA
234   NY
234   Buffalo

是否可以用第一个“_”分割字符串,然后再用“_”分割第二个字符串?

【问题讨论】:

  • 您使用的是哪个 RDBMS?

标签: sql string split


【解决方案1】:

如果字符串总是只有国家、州和城市,那么你可以尝试类似的东西。

select SUBSTRING_INDEX('USA_NY_Buffalo', '_', 1) AS country,
SUBSTRING_INDEX(SUBSTRING_INDEX('USA_NY_Buffalo', '_', 2), '_', -1) AS State,
SUBSTRING_INDEX(SUBSTRING_INDEX('USA_NY_Buffalo', '_', 3), '_', -1) AS City;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-13
    • 1970-01-01
    • 2018-03-17
    • 2013-10-30
    • 2011-11-29
    • 1970-01-01
    相关资源
    最近更新 更多