数式があります。数式は「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) を結果として選択しますそれを作る別の方法はありますか