我有一个formula.And公式是像“2 + 5 + 8/3” nvarhcar执行sp_executesql的错误
我要作出这样的计算我的公式后的功能给我像
alter FUNCTION Calculate(@Formula NVARCHAR(100))
RETURNS FLOAT
AS
BEGIN
DECLARE @Result2 FLOAT,@Query NVARCHAR(50)
SET @Query=N'select @Result='[email protected]
execute sp_executesql @Query ,N'@Result float output',@[email protected] OUTPUT
RETURN @Result2
END
结果
函数成功地创建,但我使用函数
选择dbo.Calculate(“2 + 5 + 9”) 我得到 “只功能和扩展存储过程可以从函数中执行的错误。 “ 如何让这样的功能?非常感谢
感谢您的回答,但我会在选择查询中使用它, 我的数据一样,
Name Formula Result
dd 2+3+5
gg 1+4+7
hh 2*8
jj 3*9
Kl 8*9
我要计算结果列的选择 像
选择 名称,dbo.Calculate(公式)的结果 有另一种方式,使其
如果一定是一个功能,你必须创建一个clr函数。你不能在典型的udf中调用过程或执行动态sql。 – canon