
SQl-Function创建函数.doc
2页SQl -Function 创建函数在 SQL 中系统已为我们提供了很非常丰富的函数:例:聚会函数 avg, sum,count,max,min 日期函数:Day,Month,Year 等等 为我们日常开发节省很多时间 但是有一些特殊需求的话 SQL 也提供自己创建函数的功能下面举一小例子:需求: 某一订单表 编号,订单号,产品名称 要知道 某一订单号的产品名称 名称之间用逗号(,) 隔开 如下图:我们创建一个标题函数: StrName 创建过程类似创建存储过程 如下:点击右键创建 表值函数与标量函数 从名称就可以分出来 一个返回表(集合) 标题(单一) 在这个小例子中因为我们只返回名字 所以创建一个标量函数 代码如下: 代码 Create FUNCTION [dbo].[OrderDetailGetStrNameByOrderId] (@OrderId int)RETURNS varchar(500)ASBEGIN-- Declare the return variable heredeclare @StrPassengername varchar(500)set @StrPassengername=''select @StrPassengername=@StrPassengername+ Passengername +', ' from OrderDetail where OrderId=@OrderIdselect @StrPassengername=substring(@StrPassengername,0,len(@StrPassengername))-- Return the result of the functionRETURN @StrPassengernameEND创建好之后在就可以像 avg,sum 等函数一样的使用 减少代码量 如下select distinct A.OrderId,(SELECT [dbo].[OrderDetailGetStrNameByOrderId](A.OrderId)) StrNamefrom OrderDetail A完毕。












