【问题标题】:How to select a substring surrounded by delimiters in DB2 SQL?如何在 DB2 SQL 中选择被分隔符包围的子字符串?
【发布时间】:2020-02-20 19:19:56
【问题描述】:

我想选择“/”分隔符之间的子字符串。 这是我的示例数据:

1/1/1990
13/111/1990
131/1/1990
2/11/1990

我想得到这个输出:

1   1    1990
13  111  1990
131 1    1990
2   11   1990

我试过这个:

SELECT date,SUBSTRING(date, LOCATE('/', date)+ 1, LOCATE('/', date)-1) FROM data

很遗憾,当日期是 13/1/1990 或 1/13/1990 时,它不起作用。

【问题讨论】:

    标签: sql db2 substring delimiter


    【解决方案1】:

    我认为 DB2 支持regexp_substr():

    select regexp_substr(col, '[^/\+]+', 1, 1) as part1,
           regexp_substr(col, '[^/\+]+', 1, 2) as part2,
           regexp_substr(col, '[^/\+]+', 1, 3) as part3
    from t;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-15
      • 1970-01-01
      • 2021-08-26
      • 1970-01-01
      相关资源
      最近更新 更多