Я хотел бы вернуть значение NULL после того, как разделитель **
не найден в строке с использованием Oracle. Я есть строкаКак вернуть NULL в regex
first path**second path
Я хочу, чтобы вырезать строку после разделителя **
и я использую регулярное выражение
REGEXP_SUBSTR(str , '[^**]*$')
В результате correct.It возвращение second path
. Но мне нужно, когда строка не имеет разделителя **
(например, firstpathsecondpath) и ему нужно вернуть NULL
. Что я должен изменить для своего регулярного выражения? В настоящее время regexp возвращает целую строку, когда нет разделителя **
.
Просто замечание : ваше регулярное выражение неверно - оно соответствует любой последовательности символов, отличных от звездочки, в конце строки (вы можете протестировать ее с помощью «третьего» четвертого слова - она вернется «четвертая»). –
@FrankSchmitt Нет. Я уже тестировал, что вы сказали. Он возвращает NULL –
Нет, это не так: 'select REGEXP_SUBSTR ('third * 4th', '[^ **] * $') из double' возвращает' 4th'. –