我有一个公式。公式是一个像 '2+5+8/3' 这样的 nvarhcar
我想创建一个函数,在计算出我的公式后给我一个类似的结果
alter FUNCTION Calculate(@Formula NVARCHAR(100))
RETURNS FLOAT
AS
BEGIN
DECLARE @Result2 FLOAT,@Query NVARCHAR(50)
SET @Query=N'select @Result='+@Formula
execute sp_executesql @Query ,N'@Result float output',@Result=@Result2 OUTPUT
RETURN @Result2
END
函数创建成功,但我使用该函数
select 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
我必须计算结果列选择
选择 Name,dbo.Calculate(Formula) as Result 是否有另一种方法可以做到