首页 > 解决方案 > 我有一个标量函数,它返回一个包含这个“(289/2.2)*.8”的varchar(100)。我怎样才能让函数返回 105.090909090909091 呢?

问题描述

在表 Health Functions 中,ProteinUSRDA 有一行,它具有函数({weight}/2.2)*.8。我创建了一个标量函数,该函数接受 profileid(以获取体重)和 NutritionFunctionID,它将(289/2.2)*.8以 varchar(100) 的形式返回给选定的用户。有办法吗?

CREATE FUNCTION [dbo].[MyProteinRDA] ( -- Add the parameters for the function here @ProfileID int, @FID int ) RETURNS varchar(100) AS BEGIN return (Select Replace(FFunction,'{Weight}',(Select weight from profile where profileid = @ProfileID)) from HealthFunctions where FID = 4); END

如果我使用 exec 渲染的函数,它可以工作,但我找不到从 SQL 函数返回它的方法。

标签: functiontsqlselectexecutescalar

解决方案


推荐阅读