我想从给定的字符串中提取特定的整数值,例如
http://start.mysearchdial.com/results.php?q=hovercrafting+manchester&category=web&a=coolmsd&f=2&cd=2&XzuyEtN2Y1L1QzuyEzzyD0&cr=1818627175&uref=14&start=1
从上面的字符串中,我想从字符串的 'cd=2' 部分中提取 '2' 。我正在使用的代码是
DECLARE @URL VARCHAR(4000)
SET @URL = 'http://start.mysearchdial.com/results.php?q=hovercrafting+manchester&category=web&a=coolmsd&f=2&cd=2&XzuyEtN2Y1L1QzuyEzzyD0&cr=1818627175&uref=14&start=1'
SELECT Case WHEN CHARINDEX('cd=',@URL)>0
THEN SUBSTRING(SUBSTRING(@URL,CHARINDEX('cd=',@URL),CHARINDEX('cd=',@URL)-1),4,CHARINDEX('&',SUBSTRING(@URL,CHARINDEX('cd=',@URL),CHARINDEX('cd=',@URL)-1))-4)
ELSE NULL
END
现在只要 '&' 出现在整数部分之后,它就可以正常工作。有时没有“&”符号,然后这会给出异常。
有人可以帮忙处理这种情况吗?