从 DB2 列获取子字符串
Get Substrings From DB2 Column
我有:AAAA/DATA1/Data2;xyx;pqr
这个数据
我只想要:DATA1 和 Data2
如果这是针对特定行,也许使用 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
我有:AAAA/DATA1/Data2;xyx;pqr 这个数据 我只想要:DATA1 和 Data2
如果这是针对特定行,也许使用 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