Чтобы сделать это как можно быстрее, у меня есть следующая строка
SIP/5106-0000235f
И я хочу поймать только часть после SIP / до - так что в этом случае
5106
Я сделал несколько попыток, но всегда ошибаюсь.
Если кто-то может помочь, будет очень признателен.
Если у вас все в порядке с Non-Regex решением. Вы можете попробовать использовать SUBSTRING_INDEX
SUBSTRING_INDEX
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('SIP/5106-0000235F', 'SIP/', -1),'-', 1)
Предположение: SIP/ & - появится только один раз, как указано в примере
SIP/
-
Вы можете использовать regexp_replace():
regexp_replace()
regexp_replace(mycol, '^SIP/([^-]+).*$', '\\1')