从DB2列获取子字符串

时间:2018-08-29 16:37:23

标签: db2 db2-luw

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

1 个答案:

答案 0 :(得分:3)

如果这是针对特定行的,可以使用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