obtenir la valeur du nom d'une chaîne en utilisant SQL
-
29-09-2019 - |
Question
Je viens edited la question pour le rendre plus clair .. s'il vous plaît aider
J'utilise SQL Server 2008.
J'ai une colonne contenant les chaînes suivantes ..
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
Dans la chaîne suivante, comment puis-je obtenir des valeurs de « abc » en utilisant TSQL?
le résultat devrait être ...
abc
1234
4587
2478
9874
5412
S'il vous plaît laissez-moi savoir.
Merci
La solution
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
Autres conseils
vous pouvez utiliser la méthode substring sur T-SQL, mais vous devez connaître les paramètres de début et de longueur. Je veux dire que si la valeur de chaîne change, il ne fonctionnera pas.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow