Я пытаюсь получить число, начинающееся с 628 в строке через запятую.Ниже приводится то, что я использую:
SELECT
REGEXP_REPLACE(REGEXP_SUBSTR('62810,5152,,', ',?628[[:alnum:]]+,?'),',','') first,
REGEXP_REPLACE(REGEXP_SUBSTR('5152,62810,,', ',?628[[:alnum:]]+,?'),',','') second,
REGEXP_REPLACE(REGEXP_SUBSTR('5152,562810,,', ',?628[[:alnum:]]+,?'),',','') third,
REGEXP_REPLACE(REGEXP_SUBSTR(',5152,,62810', ',?(628[[:alnum:]]+),?'),',','') fourth
FROM DUAL;
Работает, но в одном случае он не работает, это третий столбец с номером 562810. На самом деле я ожидаю NULL в третьем столбце.
Фактический результат запроса выше:
"FIRST","SECOND","THIRD","FOURTH"
"62810","62810","62810","62810"