从DB2列获取子字符串

问题描述 投票:-2回答:1

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

db2 db2-luw
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.