我有一个包含URL的 varchar
列,数据看起来像这样:
http://google.mews.......http://www.somesite.com
我想要去掉第一个http并保留第二个,这样上面的一行就会变成:
http://www.somesite.com
我尝试使用
split()
,但无法使其正常工作。谢谢。
我有一个包含URL的 varchar
列,数据看起来像这样:
http://google.mews.......http://www.somesite.com
http://www.somesite.com
split()
,但无法使其正常工作。代码:
-- assume @v is the variable holding the URL
SELECT SUBSTRING(@v, PATINDEX('%_http://%', @v) + 1, LEN(@v))
如果第一个URL总是从字符串的开头开始,您可以使用SUBSTRING()
和CHARINDEX()
:
SELECT SUBSTRING(column, CHARINDEX('http://', column, 2), LEN(column))
FROM table
CHARINDEX
函数是在一个字符串中查找子字符串并返回该子字符串在原字符串中的起始位置。它的第三个参数是可选的,如果设置了,则指定搜索的起始位置,在这种情况下它是2
,因此它没有匹配到第一个http://
。
http:
协议吗?还是可能会有一些https:
的链接呢? - Martin Smith