我也凑凑热闹好了!:)
declare @c varchar(50),@sql varchar(2000)
set @c = '2+2+3+4'
set @sql = 'select sum(cast(col as int)) from (select col='''+replace(@c,'+',''' [union] all select ''')+''') a'
exec(@sql)
--//这个是邹老大写的
CREATE FUNCTION f_splitSTR(
@s varchar(8000), --待分拆的字符串
@split varchar(10) --数据分隔符
)RETURNS @re TABLE(col varchar(100))
AS
BEGIN
DECLARE @splitlen int
SET @splitlen=LEN(@split+'a')-2
WHILE CHARINDEX(@split,@s)>0
BEGIN
INSERT @re VALUES(LEFT(@s,CHARINDEX(@split,@s)-1))
SET @s=STUFF(@s,1,CHARINDEX(@split,@s)+@splitlen,'')
END
INSERT @re VALUES(@s)
RETURN
END