Как выбрать подстроку, окруженную разделителями в DB2 SQL? - PullRequest
0 голосов
/ 20 февраля 2020

Я хотел бы выбрать подстроку между разделителями '/'. Это мой пример данных:

1/1/1990
13/111/1990
131/1/1990
2/11/1990

Я хочу получить этот вывод:

1   1    1990
13  111  1990
131 1    1990
2   11   1990

Я пробовал это:

SELECT date,SUBSTRING(date, LOCATE('/', date)+ 1, LOCATE('/', date)-1) FROM data

К сожалению, когда дата 13/1/1990 или 13.01.1990, не работает.

1 Ответ

1 голос
/ 20 февраля 2020

Я думаю, что DB2 поддерживает regexp_substr():

select regexp_substr(col, '[^/\+]+', 1, 1) as part1,
       regexp_substr(col, '[^/\+]+', 1, 2) as part2,
       regexp_substr(col, '[^/\+]+', 1, 3) as part3
from t;
...