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
完毕。
相关文章
SQL2005、SQL2008允许远程连接的配置说明(附配置图)
这篇文章主要介绍了SQL2005、SQL2008允许远程连接的配置过程,需要的朋友可以参考下2015-08-08还原Sql Server数据库BAK备份文件的3种方式以及常见错误总结
日常后端开发中,我们有时候需要查看之前备份数据库的信息用于排错纠正项目问题,下面这篇文章主要给大家介绍了关于还原Sql Server数据库BAK备份文件的3种方式以及常见错误的相关资料,需要的朋友可以参考下2023-02-02分发服务器 系统抛出18483错误,未能连接服务器,因为''distributor_admin''未定义远程登陆
错误18483,未能连接服务器,因为 'distributor_admin '未在该服务器上定义远程登录。2010-07-07
最新评论