Разбить строку и заменить - PullRequest
4 голосов
/ 13 февраля 2011

У меня есть varchar столбец с URL-адресами с данными, которые выглядят так:

http://google.mews.......http://www.somesite.com

Я хочу избавиться от первого http и оставить второе, чтобы строка выше привела к:

http://www.somesite.com

Я пытался использовать split(), но не могу заставить его работать

Спасибо

Ответы [ 2 ]

3 голосов
/ 13 февраля 2011

Если вы пытаетесь сделать это с помощью T-SQL, вы можете попробовать что-то в строках:

-- assume @v is the variable holding the URL
SELECT SUBSTRING(@v, PATINDEX('%_http://%', @v) + 1, LEN(@v))

Это вернет начальную позицию первого http: //, который находится передхотя бы один символ (отсюда «% _» перед ним и смещение + 1).

2 голосов
/ 14 февраля 2011

Если первый URL-адрес всегда начинается с начала строки, вы можете использовать SUBSTRING() & CHARINDEX():

SELECT SUBSTRING(column, CHARINDEX('http://', column, 2), LEN(column))
FROM table

CHARINDEX просто ищет в строке подстроку и возвращает начальную позицию подстроки в строке. Его третий аргумент является необязательным и, если он установлен, указывает начальную позицию поиска, в данном случае это 2, поэтому он не достиг первого http://.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...