Если бы каждый URL имел только один параметр запроса id
, то мы можем использовать SUBSTRING_INDEX
:
SELECT SUBSTRING_INDEX(url, '?id=', -1) AS id
FROM yourTable;
Демо
Для более общего решения в MySQL 8+ мы можем использовать REGEXP_SUBSTRING
:
SELECT REGEXP_REPLACE(url, '^.*?.*id=([^&]+).*$', '$1') AS id
FROM yourTable;
Демо
Подход на основе регулярных выражений может обрабатывать id
, появляющиеся в любом месте строки запроса.