数据库 
首页 > 数据库 > 浏览文章

SQl Function 创建函数实例介绍

(编辑:jimmy 日期: 2024/11/14 浏览:3 次 )

 在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

完毕。

上一篇:MySQL 5.7 create VIEW or FUNCTION or PROCEDURE
下一篇:利用SQL Server数据库邮件服务实现监控和预警
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 SiteMap