如何在sql中计算算法字符串
我试图计算字符串如何在sql中计算算法字符串,sql,sql-server,Sql,Sql Server,我试图计算字符串'5-22/5',而不获取子字符串并在sql中查找运算符等 我的算法字符串=@Diam是一个varchar,其值为'5-22/5' 期望结果=2我需要将此结果计算为一个变量 我尝试了许多不同的方法来获得成功 exec('select'+@Diam)将值返回到上面定义的float类型的@result变量 例如: DECLARE @result float DECLARE @Diam varchar(50) @Diam = 'select @x = ' + @Diam decl
'5-22/5'
,而不获取子字符串并在sql中查找运算符等
我的算法字符串=@Diam
是一个varchar
,其值为'5-22/5'
期望结果=2我需要将此结果计算为一个变量
我尝试了许多不同的方法来获得成功
exec('select'+@Diam)
将值返回到上面定义的float类型的@result
变量
例如:
DECLARE @result float
DECLARE @Diam varchar(50)
@Diam = 'select @x = ' + @Diam
declare @S nvarchar(max) = @Diam
declare @xx int
set @xx = 0
exec sp_executesql @S, N'@x int out', @xx out
select @xx
然而,我得到了各种各样的编译错误,我不能弄清楚
提前感谢您提供的任何提示/提示/答案。试试这样的方法
DECLARE @result float;
DECLARE @Diam NVARCHAR(50);
DECLARE @S NVARCHAR(max);
SET @Diam = '5-(22/5)';
SET @S = N'SELECT @result = (' + @Diam + ')';
PRINT @S
exec sp_executesql @S
, N'@result float OUTPUT'
, @result OUTPUT
select @result