从 DB2 列获取子字符串

Get Substrings From DB2 Column

我有:AAAA/DATA1/Data2;xyx;pqr 这个数据 我只想要:DATA1Data2

如果这是针对特定行,也许使用 SUBSTR?像

SELECT 
  SUBSTR(column, 6, 5) AS col1
, SUBSTR(column, 13, 5) AS col2
 FROM table

这是您可以做的其他事情。虽然它变得相当复杂,而且这不是您正在寻找的确切答案,但它可以帮助您入门。希望这会有所帮助:

WITH test AS (
SELECT characters
  FROM ( VALUES
  (   'AAAA/DATA1/Data2;xyx;pqr'
  ) )
    AS testing(characters)
)
SELECT 
    SUBSTR(characters, 1, LOCATE('/', characters) - 1) AS FIRST_PART
  , SUBSTR(characters, LOCATE('/', characters) + 1) AS SECOND_PART
  , SUBSTR(characters, LOCATE('/', characters, LOCATE('/', characters) + 1) + 1) 
      AS THIRD_PART
    FROM test
;

不幸的是,DB2 没有一个单一的功能来处理这个问题。在此处查看此答案:How to split a string value based on a delimiter in DB2