这是我声明的表值函数:
CREATE FUNCTION fn_GetMedian(@List TypeMedian READONLY)
RETURNS INT
AS
BEGIN
RETURN
(
Select
(
(
Select Top 1 Value
From
(
Select Top 50 Percent Value
From @List
Where Value Is NOT NULL
Order By Value
) As A
Order By Value DESC
) +
(
Select Top 1 Value
From
(
Select Top 50 Percent Value
From @List
Where Value Is NOT NULL
Order By Value DESC
) As A
Order By Value Asc
)
) / 2
)
END
这是我正在执行的代码临时表和查询:
DECLARE @Temp Table
(ID INT,ID2 INT)
select fn_GetMedian(ID)
from @Temp
但是,我收到以下错误:
消息 195、级别 15、状态 10、第 9 行
“fn_GetMedian”不是可识别的函数名称。
这个问题与:
函数需要以模式为前缀,以将它们与内置函数分开。
正确的语法应该是
..前提是您的功能在
dbo
架构中。