我有一个varchar
列有地址的数据,看起来像这样:分割字符串和替换
http://google.mews.......http://www.somesite.com
我想摆脱第一个HTTP,并保持第二个这样的行以上将导致:
http://www.somesite.com
我一直在使用split()
尝试,但不能让它的工作
感谢
我有一个varchar
列有地址的数据,看起来像这样:分割字符串和替换
http://google.mews.......http://www.somesite.com
我想摆脱第一个HTTP,并保持第二个这样的行以上将导致:
http://www.somesite.com
我一直在使用split()
尝试,但不能让它的工作
感谢
如果你想做到这一点使用T-SQL,你可以尝试的东西线:
-- assume @v is the variable holding the URL
SELECT SUBSTRING(@v, PATINDEX('%_http://%', @v) + 1, LEN(@v))
这将返回一个HTTP的起始位置:即收到了至少一个//字符(因此在它之前的'%_'和+ 1偏移量)。
如果第一个URL总是从字符串的开头权开始,你可以使用SUBSTRING()
& CHARINDEX()
:
SELECT SUBSTRING(column, CHARINDEX('http://', column, 2), LEN(column))
FROM table
CHARINDEX
简单地搜索一个子串,并返回字符串中的子字符串的起始位置。它的第三个参数是可选的,如果设置,则指定搜索开始位置,在这种情况下,它是2
,因此它没有碰到第一个http://
。
你在使用什么编程语言? – stakx 2011-02-13 09:00:25