特定の文字列から特定の整数値を抽出したい
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
'&' が整数部分の後に表示される限り、これは正常に機能します。「&」記号がない場合があり、これにより例外が発生します。
このシナリオの処理方法について誰か助けてもらえますか?