SQL Server - Consulta Patindex: Varias Coincidencias

 
Vista:
sin imagen de perfil
Val: 2
Ha disminuido su posición en 90 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

Consulta Patindex: Varias Coincidencias

Publicado por Angel (4 intervenciones) el 18/06/2016 01:18:44
Estimados buenas tardes, tengo un problema en cuanto al manejo del patindex y espero puedan ayudarme.


Tengo la siguiente sentencia:

declare @valoresBusqueda as table (indice int) -- Declaro un
declare @Cadena varchar (500) = 'Busco el valor 1234 Busco el Valor 1234
declare @indice int = 0

begin
insert into @valoresBusqueda
select indice = PATINDEX('%'+valores+'%',@Cadena)
from tabla_valores

supongamos que la tabla 'tabla_valores' tiene un campo que se llama valores que es el que deseo encontrar en mi cadena.

la tabla 'tabla_valores' tiene los valores 1234,1235,12346,12347

Efectivamente lo encuentra en la posición 16 y lo inserta en la tabla @ValoresBusqueda, sin embargo lo que yo necesito es que inserte en la tabla @valoresBusqueda ambas coincidencias, en este caso el valor buscado se encuentra en la posición 16 y 36 entonces lo que deseo es que inserte en la tabla ambos valores, es decir el 16 y el 36 y si hubieran mas coinciencias, que inserte tantos registros como coincidencias encuentre, si alguien me puede ayudar con esto se lo agradecería muchisimo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 2
Ha disminuido su posición en 90 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

Consulta Patindex: Varias Coincidencias

Publicado por Angel (4 intervenciones) el 02/08/2016 18:35:29
Bueno al final logré resolver mi problema, por lo que si a alguien le sirve, esto fue lo que realicé:

Crear un cursor para recorrer todo el string. Cuando el patindex encuentre una coincidencia, replace por X por ejemplo, así en la siguiente corrida del cursor, el patindex encontrará la siguiente posición, y así hasta terminar de recorrer todo el string.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar