manejo de string

27/06/2005 - 17:06 por Mauro | Informe spam
como pudo separar lo siguiente:

'string1:string2:string3:string4'
en :
@a='string1'
@b='string2'
@c='string3'
@d='string4'

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
27/06/2005 - 17:21 | Informe spam
Trata:

use northwind
go

declare @s varchar(128)
declare @a varchar(25)
declare @b varchar(25)
declare @c varchar(25)
declare @d varchar(25)

set @s = 'string1:string2:string3:string4'

select
@a = parsename(replace(@s, ':', '.'), 4),
@b = parsename(replace(@s, ':', '.'), 3),
@c = parsename(replace(@s, ':', '.'), 2),
@d = parsename(replace(@s, ':', '.'), 1)

select
@a as [@a],
@b as [@b],
@c as [@c],
@d as [@d]
go


AMB


"Mauro" wrote:

Mostrar la cita
#2 Mauro
27/06/2005 - 17:39 | Informe spam
como hariamos esto dinamico a la cantidad de elementos en el string?

"Alejandro Mesa" wrote in message
news:
Mostrar la cita
#3 Isaias
27/06/2005 - 17:58 | Informe spam
Mauro

¿No seria mejor que nos dijeras que deseas hacer?

No veo imposible hacerlo dinamico, pero eso de hacer dinamico el numero de
variables, lo veo en "chino"
#4 Don Roque
27/06/2005 - 17:58 | Informe spam
Se me ocurre que podes crear una UDF que lo haga y te devuelva el
resultado en una tabla.




CREATE function fcnSplit
(
@msg varchar(50),
@sep char(1)
)
RETURNS @table_return TABLE
(
words varchar(50)
)

AS
BEGIN

declare @fin int

set @msg = ltrim(rtrim(@msg))
while (replace(@msg, replicate(@sep, 2), @sep)<>@msg)
set @msg = replace(@msg, replicate(@sep, 2), @sep)

if charindex(@sep, @msg) = 0
begin
insert into @table_return values(@msg)
end

else
begin

while @msg <> ''
begin
set @fin = 1
while substring(@msg, @fin, 1)<>@sep and @fin < len(@msg)
begin
set @fin=@fin+1
end
insert into @table_return values( replace( substring(@msg, 1, @fin)
, @sep, '') )
set @msg = ltrim (rtrim ( replace (@msg, substring(@msg, 1, @fin),
'') ))
end
end

RETURN

END

go

select * from dbo.fcnSplit('string1:string2:string3:string4' , ':')

Saludos
#5 Alejandro Mesa
27/06/2005 - 18:31 | Informe spam
Mauro,

Mostrar la cita
No se a lo que te refieres, peor si la idea es simular arreglos en t-sql ,
entonces hechale una hojeada a este articulo.

Arrays and Lists in SQL Server
http://www.sommarskog.se/arrays-in-sql.html


AMB


"Mauro" wrote:

Mostrar la cita
Ads by Google
Search Busqueda sugerida