2011-02-13 27 views
4

我有一個varchar列有地址的數據,看起來像這樣:分割字符串和替換

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

我想擺脫第一個HTTP,並保持第二個這樣的行以上將導致:

http://www.somesite.com 

我一直在使用split()嘗試,但不能讓它的工作

感謝

+0

你在使用什麼編程語言? – stakx 2011-02-13 09:00:25

回答

3

如果你想做到這一點使用T-SQL,你可以嘗試的東西線:

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

這將返回一個HTTP的起始位置:即收到了至少一個//字符(因此在它之前的'%_'和+ 1偏移量)。

2

如果第一個URL總是從字符串的開頭權開始,你可以使用SUBSTRING() & CHARINDEX()

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

CHARINDEX簡單地搜索一個子串,並返回字符串中的子字符串的起始位置。它的第三個參數是可選的,如果設置,則指定搜索開始位置,在這種情況下,它是2,因此它沒有碰到第一個http://