请问怎么求字符串2+2+3+4的和呀?并且把值赋给个变量!

guo8216 2005-10-06 09:28:23
请问怎么求字符串2+2+3+4的和呀?并且把值赋给个变量!
...全文
145 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
samfeng_2003 2005-10-08
我也凑凑热闹好了!:)
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)

要把[union]的括号去掉
回复
tch789 2005-10-07
study
回复
381612 2005-10-07
declare @sql nvarchar(100)
select @sql='2'+'2'+'3'+'4'
print @sql
回复
zxbyhcsdn 2005-10-07
用邹老大的那个函数吧字符串split到表然后再sum

--//这个是邹老大写的
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

---------------------
建议MS把这个函数弄成系统函数!!嘿嘿
回复
duoluohuifeng 2005-10-07
学习
回复
todouwang 2005-10-06
mark;
回复
MorningTea 2005-10-06
declare @str varchar(100)
declare @sql nvarchar(100)
set @str = '2+2+3+4'
declare @returnValue int
set @sql = N'select @returnValue = ' + @str
exec sp_executesql @sql,N'@returnValue int output',@returnValue output
print @returnValue

/*
11
*/
回复
发帖
应用实例
创建于2007-09-28

2.7w+

社区成员

MS-SQL Server 应用实例
申请成为版主
帖子事件
创建了帖子
2005-10-06 09:28
社区公告
暂无公告