数据库函数和存储过程 有没有查询比参数(数字)小一级的?

天极传媒:天极网全国分站
您现在的位置:
& &&Excel函数应用教程:数据库函数
Excel函数应用教程:数据库函数
论坛 09:53
  今天我们开始介绍Excel各函数的具体作用,内容比较多,共有十一个大类,我们会陆续发布相关内容。今天先介绍类函数。
  1.DAVERAGE
  参数:返回数据库或数据清单中满足指定条件的列中数值的平均值。
  语法:DAVERAGE(database,field,criteria)
  参数:Database构成列表或数据库的单元格区域。Field指定函数所使用的数据列。Criteria为一组包含给定条件的单元格区域。
  2.DCOUNT
  参数:返回数据库或数据清单的指定字段中,满足给定条件并且包含数字的单元格数目。
  语法:DCOUNT(database,field,criteria)
  参数:Database构成列表或数据库的单元格区域。Field指定函数所使用的数据列。Criteria为一组包含给定条件的单元格区域。
  3.DCOUNTA
  参数:返回数据库或数据清单指定字段中满足给定条件的非空单元格数目。
  语法:DCOUNTA(database,field,criteria)
  参数:Database构成列表或数据库的单元格区域。Field指定函数所使用的数据列。Criteria为一组包含给定条件的单元格区域。
  4.DGET
  参数:从数据清单或数据库中提取符合指定条件的单个值。
  语法:DGET(database,field,criteria)
  参数:Database构成列表或数据库的单元格区域。Field指定函数所使用的数据列。Criteria为一组包含给定条件的单元格区域。
  5.DMAX
  参数:返回数据清单或数据库的指定列中,满足给定条件单元格中的最大数值。
  语法:DMAX(database,field,criteria)
  参数:Database构成列表或数据库的单元格区域。Field指定函数所使用的数据列。Criteria为一组包含给定条件的单元格区域。
  6.DMIN
  参数:返回数据清单或数据库的指定列中满足给定条件的单元格中的最小数字。
  语法:DMIN(database,field,criteria)
  参数:Database构成列表或数据库的单元格区域。Field指定函数所使用的数据列。Criteria为一组包含给定条件的单元格区域。
  7.DPRODUCT
  参数:返回数据清单或数据库的指定列中,满足给定条件单元格中数值乘积。
  语法:DPRODUCT(database,field,criteria)
  参数:同上
  8.DSTDEV
  参数:将列表或数据库的列中满足指定条件的数字作为一个样本,估算样本总体的标准偏差。
  语法:DSTDEV(database,field,criteria)
  参数:同上
  9.DSTDEVP
  参数:将数据清单或数据库的指定列中,满足给定条件单元格中的数字作为样本总体,计算总体的标准偏差。
  语法:DSTDEVP(database,field,criteria)
  参数:同上
  10.DSUM
  参数:返回数据清单或数据库的指定列中,满足给定条件单元格中的数字之和。
  语法:DSUM(database,field,criteria)
  参数:同上
  11.DVAR
  参数:将数据清单或数据库的指定列中满足给定条件单元格中的数字作为一个样本,估算样本总体的方差。
  语法:DVAR(database,field,criteria)
  参数:同上
  12.DVARP
  参数:将数据清单或数据库的指定列中满足给定条件单元格中的数字作为样本总体,计算总体的方差。
  语法:DVARP(database,field,criteria)
  参数:同上
  13.GETPIVOTDATA
  参数:返回存储在数据透视表报表中的数据。如果报表中的汇总数据可见,则可以使用函数GETPIVOTDATA从数据透视表报表中检索汇总数据。
  语法:GETPIVOTDATA(pivot_table,name)
  参数:Data_field为包含要检索的数据的数据字段的名称(放在引号中)。Pivot_table在数据透视表中对任何单元格、单元格区域或定义的单元格区域的引用,该信息用于决定哪个数据数据透视表包含要检索的数据。Field1,Item1,Field2,Item2为1到14对用于描述检索数据的字段名和项名称,可以任意次序排列。
(作者:语丝 推荐责任编辑:still)
天极新媒体&最酷科技资讯扫码赢大奖
* 网友发言均非本站立场,本站不在评论栏推荐任何网店、经销商,谨防上当受骗!
Win10系统在Win8的基础上对界面、特性以及跨平台方面做了诸多优化。
手机整机DIY企业级
pc软件手机软件-- =============================================
-- Author:
&Author,,Name&
-- Create date: &Create Date, ,&
-- Description:
&Description, ,&
-- =============================================
CREATE FUNCTION &Scalar_Function_Name, sysname, FunctionName&
-- Add the parameters for the function here
&@Param1, sysname, @p1& &Data_Type_For_Param1, , int&
RETURNS &Function_Data_Type, ,int&
-- Declare the return variable here
DECLARE &@ResultVar, sysname, @Result& &Function_Data_Type, ,int&
-- Add the T-SQL statements to compute the return value here
SELECT &@ResultVar, sysname, @Result& = &@Param1, sysname, @p1&
-- Return the result of the function
RETURN &@ResultVar, sysname, @Result&
-- =============================================
-- Author:
&Author,,Name&
-- Create date: &Create Date, ,&
-- Description:
&Description, ,&
-- =============================================
CREATE FUNCTION GetSum(
@firstNum int,
@secondNum int
RETURNS int
-- Declare the return variable here
DECLARE @result int
-- Add the T-SQL statements to compute the return value here
SELECT @result=@firstNum+@secondNum
-- Return the result of the function
RETURN @result
&题外话:我们来看看上面的写法,对于SQL Server来讲,我们声明一个变量的方式是用@变量名,而且相对于编程来讲,SQL Server声明的方式跟我们开了个玩笑,是先变量后面才是类型。对于需要传参跟不需要传参的方式,其实跟我们编程的方式一样。有参数则是如下方式:
CREATE FUNCTION GetSum
@firstNum int,
@secondNum int
如果没有参数,则只要保留括号即可。跟我们理解的函数写法一致。
CREATE FUNCTION GetSum
对于返回方式,这跟我们编程的方式又不大一样。SQL Server函数的返回类型并不放在函数名前面,而是函数名括号的后面。而且函数的返回类型需要用到返回关键字RETURNS,而不是RETURN。
对于函数来讲,当然也会有所谓的函数体。标量函数也一样。它的函数体是包含在:
对于需要在函数体里面声明变量的话,则需要使用到DECLARE关键字进行声明。函数体内的返回才是关键字RETURN。&
好了,标量函数的例子也举完了,要存到数据库里面,还需要点击Microsoft SQL Server Management Studio工具里的执行操作。这样之后,就可以在查询窗口里面跟查询表数据一样来查询结果了。
使用方式好懂吧,但是需要注意的是[dbo]这个对象名在不能省,[GetSum]函数后面可也别少了()。说来也奇怪,对于表值函数来说,对象名[dbo]倒是不写也可以正确执行。
select [dbo].[GetSum]()
内联表值函数
&相对于标量函数只返回一个标量值,内联表值函数返回的是表数据。当然罗,表数据就是Table类型。
写法如下:
-- =============================================
-- Author:
&Author,,Name&
-- Create date: &Create Date,,&
-- Description:
&Description,,&
-- =============================================
CREATE FUNCTION &Inline_Function_Name, sysname, FunctionName&
-- Add the parameters for the function here
&@param1, sysname, @p1& &Data_Type_For_Param1, , int&,
&@param2, sysname, @p2& &Data_Type_For_Param2, , char&
RETURNS TABLE
-- Add the SELECT statement with parameter references here
-- =============================================
-- Author:
&Author,,Name&
-- Create date: &Create Date,,&
-- Description:
&Description,,&
-- =============================================
CREATE FUNCTION [GetMoreThanSalary]
@salary int
RETURNS TABLE
SELECT [FName],[FCity],[FAge],[FSalary] FROM [Demo].[dbo].[T_Person] Where [FSalary] & @salary
题外话:标量函数上面提过的内容,这里就不重复了。内联表函数返回的表结构由函数体内的SELECT语句来决定。
对于标量函数来讲,函数体是包含在如下结构中。
但是对于内联表值函数来讲,函数体的结构则是如下的方式。内联表值函数只执行一条SQL语句后返回Table结果。
执行表值函数的方式如下:
select [FName],[FCity],[FAge],[FSalary] from [dbo].[GetMoreThanSalary](8000)
可以看得出,这种执行方式就跟普通表的执行方式一样了。表值函数其实相当于存储在内存空间里面的一张虚拟表。
多语句表值函数
&多语句表值函数跟内联表值函数都是表值函数,它们返回的结果都是Table类型。多语句表值函数顾名思义,就是可以通过多条语句来创建Table类型的数据。这里不同于内联表值函数,内联表值函数的返回结果是由函数体内的SELECT语句来决定。而多语句表值函数,则是需要指定具体的Table类型的结构。也就是说返回的Table,已经定义好要哪些字段返回。所以它能够支持多条语句的执行来创建Table数据。
写法如下:
-- =============================================
-- Author:
&Author,,Name&
-- Create date: &Create Date,,&
-- Description:
&Description,,&
-- =============================================
CREATE FUNCTION &Table_Function_Name, sysname, FunctionName&
-- Add the parameters for the function here
&@param1, sysname, @p1& &data_type_for_param1, , int&,
&@param2, sysname, @p2& &data_type_for_param2, , char&
&@Table_Variable_Name, sysname, @Table_Var& TABLE
-- Add the column definitions for the TABLE variable here
&Column_1, sysname, c1& &Data_Type_For_Column1, , int&,
&Column_2, sysname, c2& &Data_Type_For_Column2, , int&
-- Fill the table variable with the rows for your result set
-- =============================================
-- Author:
&Author,,Name&
-- Create date: &Create Date,,&
-- Description:
&Description,,&
-- =============================================
ALTER FUNCTION DemoFun
@result TABLE
name nvarchar(20),
city nvarchar(20),
salary int
-- Fill the table variable with the rows for your result set
insert into @result(name, city, age, salary)
select FName,FCity,FAge,FSalary from dbo.T_Person where FSalary&8000
insert into @result(name, city, age, salary) values
('测试','China', 1, 0)
题外话:可以看得出,多语句表值函数的返回结果是定义好表结构的虚拟表。这又跟标量函数一样了吧,只不过标量函数是返回一种类型的标量值而已。而且在多语句表值函数里面,你也会发现最后一句是RETURN。告诉执行程序,多语句表值函数已经执行完成。函数体结构跟标量函数的结构一样。对于类型放在变量后面这种方式确实需要好好转换一下观念。
&@Table_Variable_Name, sysname, @Table_Var& TABLE
-- Add the column definitions for the TABLE variable here
&Column_1, sysname, c1& &Data_Type_For_Column1, , int&,
&Column_2, sysname, c2& &Data_Type_For_Column2, , int&
内容倒是不多,但是要熟练使用的话,还是需要在项目中多加使用才行。网上有一些网友总结出来的常用自定义函数大家可以收集积累,就像做项目一样,好的方法要形成所谓的开发库,帮助我们在下一个项目中复用。节省我们的开发时间,提高我们的工作效率。
至此,本文完。
阅读(...) 评论()数据库函数及其应用小结_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
数据库函数及其应用小结
阅读已结束,下载文档到电脑
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩1页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢}

我要回帖

更多关于 数据库函数的使用 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信