我有一个带有Url的varchar
列,其数据如下所示:
http://google.mews.......http://www.somesite.com
我想摆脱第一个http并保留第二个http,因此上面的行会导致:
http://www.somesite.com
我已尝试使用split()
但无法使其正常工作
由于
答案 0 :(得分:3)
如果您尝试使用T-SQL执行此操作,可以尝试以下行:
-- assume @v is the variable holding the URL
SELECT SUBSTRING(@v, PATINDEX('%_http://%', @v) + 1, LEN(@v))
这将返回第一个http://的起始位置,该位置前面至少有一个字符(因此它前面的'%_'和+ 1偏移量)。
答案 1 :(得分:2)
如果第一个网址始终从字符串的开头开始,则可以使用SUBSTRING()
& CHARINDEX()
:
SELECT SUBSTRING(column, CHARINDEX('http://', column, 2), LEN(column))
FROM table
CHARINDEX
只是在字符串中搜索子字符串,并返回子字符串在字符串中的起始位置。它的第三个参数是可选的,如果设置,则指定搜索起始位置,在这种情况下它是2
,因此它没有点击第一个http://
。