加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL Server中Function建造函数的简单应用是怎样

发布时间:2023-06-01 10:54:49 所属栏目:MsSql教程 来源:
导读:这篇文章将为大家详细讲解有关“SQL Server中Function创建函数的简单应用是怎样”的知识,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 在SQL中系统已为我们提供了

这篇文章将为大家详细讲解有关“SQL Server中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

完毕。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章