Frage

Ich bearbeiten nur die Frage es deutlicher zu machen .. please help

Ich bin mit SQL Server 2008

Ich habe eine Spalte, die die folgenden Zeichenketten enthalten ..

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

In der folgenden Zeichenkette, wie kann ich Wert von „abc“ mit TSQL?

sollte das Ergebnis sein ...

abc

1234
4587
2478
9874
5412

Bitte lassen Sie mich wissen.

Dank

War es hilfreich?

Lösung

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

Andere Tipps

können Sie die Teilzeichenmethode auf T-SQL verwenden, aber Sie würden die Start- und Längenparameter müssen wissen. Ich meine, wenn die Zeichenfolge-Wert ändert, wird es nicht funktionieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top