以下摘录自MSDN:“函数类型”
- 标量函数: 用户定义标量函数返回在 RETURNS 子句中定义的类型的单个数据值。对于内联标量函数,没有函数体;标量值是单个语句的结果。对于多语句标量函数,定义在 BEGIN...END 块中的函数体包含一系列返回单个值的 Transact-SQL 语句。返回类型可以是除 text、ntext、image、cursor 和 timestamp 外的任何数据类型。
-
表值函数: 用户定义表值函数返回 table 数据类型。对于内联表值函数,没有函数主体;表是单个 SELECT 语句的结果集。
以下摘录自MSDN:“内联用户定义函数”
-
内联用户定义函数规则:
-
RETURNS 子句只包含关键字 table。不必定义返回变量的格式,因为它由 RETURN 子句中的 SELECT 语句的结果集的格式设置。
-
function_body 不用 BEGIN 和 END 分隔。
-
RETURN 子句在括号中包含单个 SELECT 语句。SELECT 语句的结果集构成函数所返回的表。内联函数中使用的 SELECT 语句与视图中使用的 SELECT 语句受到相同的限制。
-
表值函数只接受常量或 @local_variable 参数
sample: