2011-08-30 12 views

Respuesta

7
select ListValue 
from dbo.GetListFromCSVString('1,2,3') 

Resultado:

ListValue 
---------- 
1 
2 
3 

Si el parámetro de la función es un campo de otra tabla que tiene que utilizar cross apply obtener la lista de valores para cada fila de la tabla de origen.

-- Table to test on 
declare @T table 
(
    ID int identity primary key, 
    SomeColumn varchar(500) 
) 

-- Sample data 
insert into @T values('1,2,3') 
insert into @T values('a,b,c') 

-- Use the function 
select ST.ID, 
     GL.ListValue 
from @T as ST 
    cross apply dbo.GetListFromCSVString(ST.SomeColumn) as GL 

Resultado:

ID   ListValue 
----------- ---------- 
1   1 
1   2 
1   3 
2   a 
2   b 
2   c 
+0

¿No debería ser capaz de pasar en la variable ValueList como un nombre de la tabla? – Jules

+0

@Jules - No estoy seguro de entender. '@ ValueList' es el valor de retorno de la función, no el parámetro. –

+0

He pegado toda la función, como puede ver [at] ValueList es un nombre de tabla. – Jules

Cuestiones relacionadas