substring()
с первого '/'
после первого '//'
. Используйте charindex()
, чтобы получить их позиции.
substring(url,
charindex('/',
url,
charindex('//',
url)
+ 2),
len(url)
-
charindex('/',
url,
charindex('//',
url)
+ 2)
+ 1)
Или используйте replace()
, чтобы удалить 'http://'
и 'https://'
(если они только в начале, что должно быть в случае с вменяемыми URL-адресами) и перейдите к первому '/'
.
substring(replace(replace(url,
'http://',
''),
'https://',
''),
charindex('/',
replace(replace(url,
'http://',
''),
'https://',
'')),
len(replace(replace(url,
'http://',
''),
'https://',
''))
-
charindex('/',
replace(replace(url,
'http://',
''),
'https://',
''))
+
1)
SQL Fiddle
Edit:
Хм, возможно, я упустил, что URL-адреса могут быть встроены в другой текст? Это не было ясно из вопроса. Если это так, то мое решение, конечно, только для частичного использования, если оно есть. Может быть, уточнить, являются ли URL-адреса встроенными или нет.