У меня есть скалярная функция, которая возвращает varchar (100), содержащий это "(289 / 2.2) *. 8". Как сделать так, чтобы функция возвращала 105.090909090909091? - PullRequest
0 голосов
/ 17 апреля 2019

В таблице Health Health у меня есть строка для 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.

...