Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.
Necesito Separar un campo en SQL Server 2000
Enviado por Mow el día 5 de mayo de 2004
Tengo un campo en una tabla donde hay varios tipos de int separados por | y no se como separalos para mostrarlos por ASP
OK, el campo en si comienza y termina con | , es un varchar(100), y son numeros lo que separa |.
Si quieres puedes enviarme un mail a mow@karnaza.cl o seguimos por esta via...
Muchas gracias
Re: Re: Necesito Separar un campo en SQL Server 2000
Enviado por Mari el día 6 de mayo de 2004
No tengo idea de lo que preguntas pero buscando por internet llegué a esto, asi que supongo que alguien te va a responder tu pregunta, ja, ja.
nos vemos.
Necesito Conocer el tipo de datos que almacena una columa en SQL Server 2005
Enviado por Tania el día 3 de julio de 2008
Hola, necesito saber de que manera puedo hacer un query que me despliegue el tipo de dato que se encuentra en un columna de X tabla que tenga yo almacenda en una Base de Datos X......
1º halla la posicion de la primera aparicion
almacenas el valor de esa cadena...
2º desde esta posicion + 1 posicion hallas la siguiente aparicion de la siguiente barra.
almacenas el valor de esa cadena...
3. igual..
Re: Re: Re: Necesito Separar un campo en SQL Server 2000
Enviado por Mikel el día 6 de mayo de 2004
Prueba este codigo que te mando. Creo que es una buena opcion hacerlo de esta manera. Yo parto de una variable Texto en la cual le meto la cadena de texto. En tu caso en la variable Texto deberas dejar el el contenido del campo leido de la tabla. A partir de ahi lo demas de sirve.
<%
Texto = "|123|456|789|012|345|678|"
'Le quitamos el último separador "|"
Longitud = len(Texto)
Texto = left(Texto, Longitud-1)
'Le quitamos el primer separador
Longitud = len(Texto)
Texto = mid(Texto, 2, Longitud-1)
'La función split nos separa una cadena mediante el separador que le pasamos como parametro y lo deja en un array
Tabla = split(Texto, "|")
For Ind = 0 To ubound(Tabla)
Response.Write(Tabla(Ind) & "<br>")
Next
%>
<html>
</html>
Gracais ya encontre algo parecido pero en sql... y ahi lo despliego a asp ....
Este es:
--borra la tabla temporal, solo si ya fue creada
drop table #tempo
--
declare @contador as int
set @contador = 1
--tabla auxiliar para indices de posicion
create table #tempo (ITEM int)
while @contador < 51
begin
insert into #tempo (ITEM) values (@contador)
set @contador = @contador + 1
continue
end
--rompr la cadena y usa los indices de la tabala temporal para separar los
--caracteres
select campo1,
nullif(SubString(',' + campo1 + '|' , ITEM , CharIndex('|' ,
'|' + campo1 + '|' , ITEM) - ITEM) , '') as campo2
from #tempo, tabla1
where ITEM <= Len('|' + campo1 + '|') and
SubString('|' + campo1 + '|' , ITEM - 1, 1) = '|'
and CharIndex('|' , '|' + campo1 + '|' , ITEM) - ITEM > 0