SQL SERVER表值函数
来源:互联网 发布:快递公司用什么软件 编辑:程序博客网 时间:2024/06/06 00:37
有些情况可能用下表值函数,表值函数主要用于数据计算出来返回结果集,可以带参数(和视图的一个大的区别),如果函数中没有过多的逻辑处理,如变量的定义,判断等,
表值函数返回结果集可以简单向下面这么写:
如果函数中要定义变量,进行判断计算处理什么的,写法有点不一样了,要定义表变量才行,表值函数里是不允许创建临时表的,只能是表变量。
举个简单的写法样式,如下:
如果进行多表操作,可以在函数体内定义表变量来存放结果集再进行关联查询。
标量值函数也贴一个样子好了,老掉牙的了,呵呵~~
访问标量值函数时一般在函数名前加dbo,不然会被认为是系统内置函数,却因又不是系统内置函数而会报错。
上面的可以这么测试
select dbo.FUN_DataFormat(getdate())
表值函数返回结果集可以简单向下面这么写:
CREATE FUNCTION Fun_GetReportNews(@type varchar(10))
RETURNS TABLE
AS
RETURN
(
SELECT TPR_ID,TPR_Title,TPR_Date FROM TP_ReportNews WHERE TPR_Type = @type
)
调用的时候就 SELECT XX FROM Fun_GetReprotNews('xx')RETURNS TABLE
AS
RETURN
(
SELECT TPR_ID,TPR_Title,TPR_Date FROM TP_ReportNews WHERE TPR_Type = @type
)
如果函数中要定义变量,进行判断计算处理什么的,写法有点不一样了,要定义表变量才行,表值函数里是不允许创建临时表的,只能是表变量。
举个简单的写法样式,如下:
CREATE FUNCTION FUN_GetInfoList(@type varchar(10))
RETURNS @Table TABLE(TPR_ID int,TPR_Title nvarchar(100),TPR_PubDate datetime)
AS
BEGIN
DECLARE @a varchar(10)
SELECT @a = xx FROM XX WHERE xx = @type
INSERT @Table SELECT XX,XX,XX FROM TableName WHERE XX = @a --表变量里定义的列数和取值列数要一致
RETURN
END
RETURNS @Table TABLE(TPR_ID int,TPR_Title nvarchar(100),TPR_PubDate datetime)
AS
BEGIN
DECLARE @a varchar(10)
SELECT @a = xx FROM XX WHERE xx = @type
INSERT @Table SELECT XX,XX,XX FROM TableName WHERE XX = @a --表变量里定义的列数和取值列数要一致
RETURN
END
如果进行多表操作,可以在函数体内定义表变量来存放结果集再进行关联查询。
标量值函数也贴一个样子好了,老掉牙的了,呵呵~~
CREATE FUNCTION FUN_DataFormat (@strDate datetime)
RETURNS varchar(20) AS
BEGIN
declare @date varchar(20)
set @date = DATENAME(YY,@strDate)+'年'+Convert(VARCHAR,MONTH(@strDate))+'月'+Convert(VARCHAR,DAY(@strDate))+'日'
return @date
END
RETURNS varchar(20) AS
BEGIN
declare @date varchar(20)
set @date = DATENAME(YY,@strDate)+'年'+Convert(VARCHAR,MONTH(@strDate))+'月'+Convert(VARCHAR,DAY(@strDate))+'日'
return @date
END
访问标量值函数时一般在函数名前加dbo,不然会被认为是系统内置函数,却因又不是系统内置函数而会报错。
上面的可以这么测试
select dbo.FUN_DataFormat(getdate())
0 0
- -------------------Sql server表值函数--------------------
- SQL SERVER表值函数
- SQL SERVER 的 CLR表值函数
- SQL SERVER函数——表值函数的处理
- sql server表值函数和标量函数
- sql server 2008表值函数的使用
- SQL Server CLR全功略之三---CLR标量函数、表值函数和聚合函数(UDA)
- SQL Server CLR全功略之三---CLR标量函数、表值函数和聚合函数(UDA)
- SQL Server CLR全功略之三---CLR标量函数、表值函数和聚合函数(UDA)
- SQL Server CLR全功略之三---CLR标量函数、表值函数和聚合函数(UDA)
- SQL Server函数——表值函数和标量函数
- SQL Server CLR全功略之三---CLR标量函数、表值函数和聚合函数(UDA)
- SQL SERVER 自定义函数 返回表类型
- Sql Server基本函数
- Sql Server基本函数
- Sql Server 基本函数
- Sql Server基本函数
- SQL SERVER 的函数
- 那些年,我用Thinkphp5集成mongoDB遇到的坑
- 信号量Semaphore使用
- 网络体系结构分析(1) 整体介绍
- Linux驱动开发中常见的几个不好的习惯
- 加密算法
- SQL SERVER表值函数
- 如何判断一个数是否为2的幂次方
- sublime常用快捷键
- pandas DataFrame 索引(二)
- iOS使用CG绘制相应形状的view
- 蓝桥杯-C语言 算法训练 水仙花数
- java使用dcm4che3 解析dicom文件
- 刽子手游戏
- Linux清理