您的位置:首页 > 数据库 > > 正文

sql function函数的用法(SQl Function 创建函数实例介绍)

更多 时间:2022-03-28 13:06:39 类别:数据库 浏览量:2425

sql function函数的用法

SQl Function 创建函数实例介绍

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

sql function函数的用法(SQl Function 创建函数实例介绍)

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

sql function函数的用法(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
    
  • 完毕。

    标签:SQl Function
    您可能感兴趣