在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
完毕。
分享到:
相关推荐
主要介绍了Sqlserver 自定义函数 Function使用介绍,在sqlserver2008中有3中自定义函数:标量函数/内联表值函数/多语句表值函数,需要的朋友可以参考下
SQL FUNCTION Split 字符串分割函数 的创建,方法加实例
用户自定义函数可以在企业管理器中创建,也可以使用CREATE FUNCTION 语句创建。在创建时需要注意:函数名在数据库中必须唯一,其可以有参数,也可以没有参数,其参数只能是输入参数,最多可以有1024参数。 标量函数...
主要介绍了SQl Function 创建函数实例介绍,需要的朋友可以参考下
sql定义一个函数使用function关键字的使用
---在sql2005下创建测试数据表,如果是sql2005则用本段来判断数据表是否存在 ---if exists(select 1 from sys.tables where name='w01') ---drop table w01 ----开始创建测试数据库 GO create table w01(gs903 ...
1、数字格式元素 2、日期格式元素 3、SQL内置函数等
1. 能够在select等SQL语句中直接使用自定义函数,存储过程不行。 2. 自定义函数可以调用其他函数,也可以调用自己(递归) 3. 可以在表列和 CHECK 约束中使用自定义函数来实现特殊列或约束 4. 自定义函数不能有...
SQL常用函数汇编,为正在学习和使用SQL的人提供方便
在网上搜集的sql函数制作的chm文件
SQL开窗函数(Window Function)是一种用于对查询结果集中的一组行进行计算或对比的函数。它可以在查询中创建类似于窗口(window)或范围(window)的概念,使得可以在分组级别上执行聚合、排序、排名等操作,而不...
简绍oracle的内置函数,方便查看
里面包含sql server数据库里所用的函数。比如:以下这些函数是确定性的: AVG()(所有的聚合函数都是确定性的) CAST() CONVERT() DATEADD() DATEDIFF() ASCII() CHAR() SUBSTRING() ...
讲解了ABAP SQL Functions for Strings的使用
SQL内置函数说明
ALTER FUNCTION [dbo].[F_GetHelpCode] ( @cName VARCHAR(20) )