TENGO EL SIGUIENTE STRING:
partida= |1.23.45.67|2.34.54.3|1.23.45.67|4.22.11.55.22 <--SERIA VB6.0
LUEGO TENGO MI CODIGO EN SQL, EL CUAL ES UN STORED PROCEDURE
Código:
LES EXPLICO ESE STRING SE ME GENERA POR VISUAL BASI LUEGO LO LLAMO AL STORED PROCEDURE, EL CONTADOR DE CARACTER ME VA A CONTAR CUANTOS PIPE (|) TIENE MI STRING Y EL WHILE ES PARA QUE ME TOME LOS VALORES QUE ESTAN DENTRO DEL STRING,EL CONTADOR FUNCIONA PERFECTAMENTE .DECLARE @partida varchar(20), ---CONTADOR DE PIPE @posicion int, @pipe varchar (200), @pipeout varchar (200), @monto int, @cuenta int, @fin char(1) set @pipe = @partida set @posicion = 0 set @cuenta = 0 set @fin ='i' while @fin <>'f' begin if @posicion = 0 begin select @posicion = charindex('|', @pipe) if @posicion <> 0 set @cuenta = @cuenta +1 end else begin select @posicion = charindex('|', @pipe,@posicion+1) if @posicion <> 0 set @cuenta = @cuenta +1 end if @posicion = 0 set @fin = 'f' END select @cuenta select @posicion = charindex('|', @pipe,2) ---BUCLE PARA BUSCAR VALOR ENTRE PIPE E INTRODUCIRLO A LA #TABLA DECLARE @contador int SET @contador = 0 WHILE (@contador < @pipe) BEGIN SET @contador = @contador + 1 IF (@contador % 2 = 0) CONTINUE PRINT 'Iteracion del bucle ' + cast(@contador AS varchar) END
MI PROBLEMA ESTA EN EL WHILE EL CUAL NO ME TOMA LOS VALORES QUE ESTA DENTRO DE CADA PIPE, EN MI CASO SERIA:
1.23.45.67
2.34.54.3
1.23.45.67
4.22.11.55.22
SI NO QUE ME TOMA TODO EL STRING COMPLETO
|1.23.45.67|2.34.54.3|1.23.45.67|4.22.11.55.22
LOS NECESITO UNO POR UNO POQUE LUEGO SE INTRODUCEN EN UNA #TABLA.
SI ALGUIEN PODRA AYUDARME SE LO AGRADECERE MUCHISIMO....