--get text target starting integers into a table
declare @target TABLE([USERID] varchar(25),[target] int)
--get text stopping point integers into a table
declare @stop TABLE([USERID] varchar(25),[target] int, [stop] int)
--get just the options I want into a table
declare @options TABLE ([USERID] varchar(25), [userDetails] text)
insert into @options ([userid], [userDetails])
select u.userid, rtrim(ltrim(SUBSTRING([userDetails], s.[target], s.[stop] - s.[target])))
from users u join @stop s on u.userid = s.userid
declare @userDetails varchar(max)
Select top 1
@userDetails = [userDetails]
from @options
select charindex(char(32), @userDetails)
Todo lo que obtengo es 0 de este charindex, lo he intentado en lugar de char (32). He intentado cambiar el texto a varchar pero, por lo que veo, no tiene sentido ya que el texto se está desaprobando y ya se lo trata como varchar?CHARINDEX siempre devuelve 0 en una búsqueda de espacios en blanco en un TEXTO Columna
Cuando copio y pego el elemento de detalles de usuario en una sola cadena entrecomillada y lo coloco en la función charindex todo funciona como se espera.
El texto original que se llena @userDetails se ve así:
clave= valor de clave = valor de clave = valor
¿Hay espacios principales y finales? – JNK
No debería haberlo desde que tengo ese RTRIM (LTRIM (pieza adentro) –
Incluso he intentado moverme a la posición 2 con charindex (,, 2) para evitar eso y todavía arroja 0 de vuelta –