obtener el valor del nombre de una cadena utilizando SQL
-
29-09-2019 - |
Pregunta
Me acaba de editar la pregunta para que sea más claro .. por favor ayuda
Estoy utilizando SQL Server 2008.
Tengo una columna que contiene las siguientes cadenas ..
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
En la siguiente cadena, ¿cómo puedo obtener los valores de "abc" usando TSQL?
el resultado debería ser ...
abc
1234
4587
2478
9874
5412
Por favor, hágamelo saber.
gracias
Solución
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
Otros consejos
Puede utilizar el método substring en T-SQL, pero se tendría que conocer los parámetros de inicio y duración. Me refiero a si los cambios de valores de cadena, no va a funcionar.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow