【问题标题】:Split using delimeter [duplicate]使用分隔符拆分 [重复]
【发布时间】:2018-11-28 10:03:51
【问题描述】:

我有一列的数据格式为:“abc.def.ghi.jkl”我想编写一个查询来拆分它,例如我想获取这个字符串的“abc”, 由于列中每个值的长度都不是固定的,我需要一些方法来使用“。”分割这个字符串。分隔符。请提出一些方法

【问题讨论】:

    标签: sql oracle


    【解决方案1】:

    您可以使用“regexp_substr”和“connect by”来获得所需的结果,如下所示:

    select regexp_substr('abc.def.ghi.jkl','[^.]+', 1, level) as splitted_string
    from dual
    connect by regexp_substr('abc.def.ghi.jkl', '[^.]+', 1, level) is not null;
    

    【讨论】:

    • 这是有效的,但只获取分割字符串的第一个单词,我正在寻找整个字符串直到分隔符
    • 像“abc”。 “定义。” ?然后你可以连接“。”再次使用字符串
    • 如果有多个输入行,这会出现问题,因为分层查询无法将下一级与其父级相关联,因此它将与所有可能的父级相关联,随着层次结构的下降,它会以指数方式生成越来越多的重复行.
    • 不,我的意思是字符串就像 abc def ghi。 pqr.xyz 和查询只获取 abc 但我需要获取 abc def ghi
    猜你喜欢
    • 2020-01-07
    • 1970-01-01
    • 1970-01-01
    • 2018-11-28
    • 1970-01-01
    • 2020-10-03
    • 2014-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多