TSQLを使用して文字列から名前の値を取得します
-
29-09-2019 - |
質問
私はそれをより明確にするために質問を編集しました..助けてください
SQL Server 2008を使用しています。
次の文字列を含む列があります。
http://www.microsoft.com?abc=1234&def=567&ghi=891
http://www.microsoft.com?abc=4587&def=567&ghi=891
http://www.microsoft.com?abc=2478&def=567&ghi=891
http://www.microsoft.com?abc=9874&def=567&ghi=891
http://www.microsoft.com?abc=5412&def=567&ghi=891
次の文字列で、TSQLを使用して「ABC」の値を取得するにはどうすればよいですか?
結果は...
abc
1234
4587
2478
9874
5412
私にお知らせください。
ありがとう
解決
declare @x varchar(100)
set @x = 'http://www.microsoft.com?abc=1234&def=567&ghi=891'
declare @param varchar(100)
set @param = 'abc='
select SUBSTRING(@x, charindex(@param, @x)+LEN(@param), CHARINDEX('&', @x+'&', charindex(@param, @x)) - CHARINDEX(@param, @x)-LEN(@param)) as abc
set @param = 'def='
select SUBSTRING(@x, charindex(@param, @x)+LEN(@param), CHARINDEX('&', @x+'&', charindex(@param, @x)) - CHARINDEX(@param, @x)-LEN(@param)) as def
set @param = 'ghi='
select SUBSTRING(@x, charindex(@param, @x)+LEN(@param), CHARINDEX('&', @x+'&', charindex(@param, @x)) - CHARINDEX(@param, @x)-LEN(@param)) as ghi
他のヒント
T-SQLでサブストリングメソッドを使用できますが、開始パラメーターと長さのパラメーターを知る必要があります。文字列値が変更された場合、機能しません。
所属していません StackOverflow