SQl Function 创建函数实例介绍

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

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

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

rush:sql;"> 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,len(@StrPassengername)) -- Return the result of the function RETURN @StrPassengername

END

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

rush:sql;"> select distinct A.OrderId,(SELECT [dbo].[OrderDetailGetStrNameByOrderId](A.OrderId)) StrName from OrderDetail A

完毕。

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...