0

質問を編集してより明確にしました..助けてください

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

私にお知らせください。

ありがとう

4

2 に答える 2

3
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
于 2010-11-08T22:49:54.440 に答える
0

t-sql で部分文字列メソッドを使用できますが、start パラメーターと length パラメーターを知っている必要があります。つまり、文字列の値が変更された場合、機能しません。

于 2010-11-08T22:51:24.237 に答える