REGXP для MYSQL - PullRequest
       10

REGXP для MYSQL

0 голосов
/ 22 апреля 2020

Чтобы сделать это как можно быстрее, у меня есть следующая строка

SIP/5106-0000235f

И я хочу поймать только часть после SIP / до - так что в этом случае

5106 

Я сделал несколько попыток, но всегда ошибаюсь.

Если кто-то может помочь, будет очень признателен.

Ответы [ 2 ]

1 голос
/ 22 апреля 2020

Если у вас все в порядке с Non-Regex решением. Вы можете попробовать использовать SUBSTRING_INDEX

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('SIP/5106-0000235F', 'SIP/', -1),'-', 1)

Предположение: SIP/ & - появится только один раз, как указано в примере

1 голос
/ 22 апреля 2020

Вы можете использовать regexp_replace():

regexp_replace(mycol, '^SIP/([^-]+).*$', '\\1')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...