Вероятно, есть как минимум три способа найти это на макушке моей головы.
Во-первых, существует традиционный способ использования комбинации instr и substr
substr(url, 8, instr(url, '/',1,3)-8) as ipport
Тогда есть несколько способов использования функций регулярных выражений.Эти примеры соответствуют всему, что не является символом косой черты /
, поэтому, если за номером порта не следует косая черта, могут возникнуть проблемы.
regexp_substr(url, '([^/]+)',8)
regexp_replace(url, 'http://([^/]+)/.*', '\1')
Я думаю, что я, вероятно, предпочитаю версию regexp_substr
, хотя, если ваши объемы данных велики, возможно, стоит придерживаться опции substr / instr, поскольку в моем опыте с Oracle 10g функции регулярного выражения не такиеspeedy.
Как и в случае любых операций сопоставления текста, убедитесь, что ваш код соответствует всем возможным данным.