`
hybxiaodao
  • 浏览: 244793 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

sql function 函数创建

 
阅读更多

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

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

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

 

代码
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

完毕。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics