【发布时间】:2019-12-24 20:06:46
【问题描述】:
这是一个非常基本的标量函数,如果提供的 2 个数字的总和等于 10,则应返回 1,否则返回 0。
CREATE FUNCTION IsSumEqualToTen
(
@number1 INT,
@number2 INT
)
RETURNS BIT
AS
RETURN
(
SELECT CASE WHEN (@number1 + @number2) = 10
THEN CAST(1 AS BIT)
ELSE CAST(0 AS BIT)
END
)
但是,我得到了一个语法错误!
'RETURN' 附近的语法不正确。
这里有什么不正确的地方?
【问题讨论】:
-
RETURNS BIT声明了一个多步标量函数。as return表示内联表值函数。选择一个或另一个。如果您通过使用returns table并为所选列指定名称来选择内联表值,则性能会更好。否则,给函数一个带有begin...end的主体,并在其中有一个return。
标签: sql tsql sql-server-2014