Если это для конкретной строки, возможно, используйте 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 нет ни одной функции для этого. Проверьте этот ответ здесь: Как разделить строковое значение на основе разделителя в DB2