欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SQl Function 创建函数实例介绍

程序员文章站 2022-03-02 23:37:02
 在sql中系统已为我们提供了很非常丰富的函数:例:聚会函数avg, sum,count,max,min 日期函数:day,month,year等等 ...

 在sql中系统已为我们提供了很非常丰富的函数:例:聚会函数avg, sum,count,max,min 日期函数:day,month,year等等  为我们日常开发节省很多时间  但是有一些特殊需求的话sql 也提供自己创建函数的功能下面举一小例子:需求: 某一订单表 编号,订单号,产品名称 要知道 某一订单号的产品名称 名称之间用逗号(,)隔开 如下图:

SQl Function 创建函数实例介绍

我们创建一个标题函数: strname 创建过程类似创建存储过程 如下:

SQl Function 创建函数实例介绍

点击右键创建 表值函数与标量函数 从名称就可以分出来  一个返回表(集合) 标题(单一) 在这个小例子中因为我们只返回名字 所以创建一个标量函数 代码如下:

create function [dbo].[orderdetailgetstrnamebyorderid] 
(
  @orderid int
)
returns varchar(500)
as
begin
  -- declare the return variable here
  declare @strpassengername varchar(500)
  set @strpassengername=''
  select @strpassengername=@strpassengername+ passengername +', ' from orderdetail where orderid=@orderid
  select @strpassengername=substring(@strpassengername,0,len(@strpassengername))
  -- return the result of the function
  return @strpassengername

end

创建好之后在就可以像avg,sum等函数一样的使用 减少代码量 如下

select distinct a.orderid,
(select [dbo].[orderdetailgetstrnamebyorderid](a.orderid)) strname
from orderdetail a

完毕。