Columna separada de SQL Split Comma en el delimitador

Aquí hay una function dividida, puede aplicarse como dbo.Split('sf,we,fs,we',',') , cuando cambio la cadena por el nombre de la columna, no funciona, como dbo.Split(table.columnName,',') .

 Select * from dbo.Split('dirk@test.com','@') 

es obras pero

 Select * from dbo.Split((Select Email from Users),'@') 

tiene un post de error:

 Msg 102, Level 15, State 1, Line 1 Incorrect syntax near '('. Msg 102, Level 15, State 1, Line 1 Incorrect syntax near ',' 

La function está aquí:

 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER FUNCTION [dbo].[Split] (@String varchar(8000), @Delimiter char(1)) returns @temptable TABLE (items varchar(8000)) as begin declare @idx int declare @slice varchar(8000) select @idx = 1 if len(@String)<1 or @String is null return while @idx!= 0 begin set @idx = charindex(@Delimiter,@String) if @idx!=0 set @slice = left(@String,@idx - 1) else set @slice = @String if(len(@slice)>0) insert into @temptable(Items) values(@slice) set @String = right(@String,len(@String) - @idx) if len(@String) = 0 break end return end 

al que se hace reference: Columna separada SQL Comas SQL 2005 en Delimitador

O alguien me puede dar una function similar que puede dividir una columna en dos

Eso es porque la function está devolviendo una TABLA.

 SELECT Split(myColumn) FROM myTable 

Significará

 SELECT myOutputTableFromSplit FROM myTable 

Significa, devuelve una tabla de la tabla y SQL no puede hacer eso.