Funcion Split

24/07/2006 - 21:22 por Rene Quintero | Informe spam
Hola..
Alguien sabe como hacer para separar una cadena delimitada por comas???
Algo asi como la funcino SPLIT en los lenguajese de programacion...

Rene Quintero

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
24/07/2006 - 20:49 | Informe spam
Rene,

Aqui encontraras varias formas de hacerlo. Personalmente prefiero la funcion
que hace uso de una tabla auxiliar de numeros. Busca la seccion "Using a
Table of Numbers".

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

Ejemplo:

use northwind
go

select
identity(int, 1, 1) as number
into
dbo.numbers
from
sysobjects as a
cross join
sysobjects as b
go

create unique clustered index numbers_number_u_c_ix
on dbo.numbers(number asc) with fillfactor = 100
go

CREATE FUNCTION dbo.inline_split_me (
@param varchar(7998)
) RETURNS TABLE
AS
RETURN(
SELECT substring(',' + @param + ',', number + 1, charindex(',', ',' + @param
+ ',', number + 1) - number - 1) AS Value
FROM dbo.numbers
WHERE number <= len(',' + @param + ',') - 1 AND substring(',' + @param +
',', number, 1) = ','
)
go

declare @s varchar(7998)

set @s = 'ALFKI,ANATR,ANTON,AROUT,BERGS,BLAUS,BLONP,BOLID,BONAP,BOTTM'

select value
from dbo.inline_split_me(@s)
go

drop function dbo.inline_split_me
go

drop table dbo.numbers
go

No tienes por que eliminar la tabla auxiliar, pues esta es muy util para
ciertos calculos y no consume muchos recursos en la db.

Why should I consider using an auxiliary numbers table?
http://www.aspfaq.com/show.asp?id%16


AMB

"Rene Quintero" wrote:

Hola..
Alguien sabe como hacer para separar una cadena delimitada por comas???
Algo asi como la funcino SPLIT en los lenguajese de programacion...

Rene Quintero



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida