t-sql中常用函数

t-sql中常用函数

ID:27528017

大小:106.00 KB

页数:7页

时间:2018-12-04

t-sql中常用函数_第1页
t-sql中常用函数_第2页
t-sql中常用函数_第3页
t-sql中常用函数_第4页
t-sql中常用函数_第5页
资源描述:

《t-sql中常用函数》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、T-SQL中常用函数(1)—聚合函数1.AVG:返回平均值,后面可能跟随OVER子句。1.语法:AVG([ALL

2、DISTINCT]expression);all对所有的值进行聚合函数运算。ALL是默认值。DISTINCT指定AVG只在每个值的唯一实例上执行,而不管该值出现了多少次。expression是精确数值或近似数值数据类别(bit数据类型除外)的表达式。不允许使用聚合函数和子查询。示例:计算AdventureWorksCycles的副总所用的平均休假小时数以及总的病假小时数。对检索到的所有行,每个聚合函数都生成一个单独的汇总值。1USEAdventureWork

3、s;2GO3SELECTAVG(VacationHours)as'Averagevacationhours', 4    SUM (SickLeaveHours)as'Totalsickleavehours'5FROMHumanResources.Employee6WHERETitleLIKE'VicePresident%';当与GROUPBY子句一起使用时,每个聚合函数都针对每一组生成一个值,而不是针对整个表生成一个值。以下示例针对每个销售地区生成汇总值。汇总中列出每个地区的销售人员得到的平均奖金以及每个地区的本年度销售总额。1USEAdventureWorks;2G

4、O3SELECTTerritoryID,AVG(Bonus)as'Averagebonus',SUM(SalesYTD)'YTDsales'4FROMSales.SalesPerson5GROUPBYTerritoryID;6GO 1.CHECKSUM:返回按照表的某一行或一组表达式计算出来的校验和值1.语法:CHECKSUM(*

5、expression[,...n])*指定对表的所有列进行计算。如果有任一列是非可比数据类型,则CHECKSUM返回错误。非可比数据类型有text、ntext、image、XML和cursor,还包括以上述任一类型作为基类型的sql_vari

6、ant。expression 除非可比数据类型之外的任何类型的表达式。2.CHECKSUM对其参数列表计算一个称为校验和的哈希值。此哈希值用于生成哈希索引。如果CHECKSUM的参数为列,并且对计算的CHECKSUM值生成索引,则结果是一个哈希索引。它可用于对列进行等价搜索。CHECKSUM满足哈希函数的下列属性:在使用等于(=)运算符比较时,如果两个列表的相应元素具有相同类型且相等,则在任何两个表达式列表上应用的CHECKSUM将返回同一值。对于该定义,指定类型的Null值被作为相等进行比较。如果表达式列表中的某个值发生更改,则列表的校验和通常也会更改。但只在极少数情

7、况下,校验和会保持不变。因此,我们不推荐使用CHECKSUM来检测值是否更改,除非应用程序可以容忍偶尔丢失更改。请考虑改用HashBytes。指定MD5哈希算法时,HashBytes为两个不同输入返回相同结果的可能性比CHECKSUM小得多。3.示例:使用CHECKSUM生成哈希索引。通过将计算校验和列添加到索引的表中,然后对校验和列生成索引来生成哈希索引。1--Createachecksumindex.2SETARITHABORTON;3USEAdventureWorks; 4GO5ALTERTABLEProduction.Product6ADDcs_PnameASC

8、HECKSUM(Name);7GO8CREATEINDEXPname_indexONProduction.Product(cs_Pname);9GO校验和索引可用作哈希索引,尤其是当要索引的列为较长的字符列时可以提高索引速度。校验和索引可用于等价搜索。1/*UsetheindexinaSELECTquery.Addasecondsearch 2conditiontocatchstraycaseswherechecksumsmatch, 3butthevaluesarenotthesame.*/4SELECT* 5FROMProduction.Product6WHEREC

9、HECKSUM(N'BearingBall')=cs_Pname7ANDName=N'BearingBall';8GO对计算列创建索引将具体化为校验和列,对ProductName值所做的任何更改都将传播到校验和列。也可以直接对索引的列生成索引。然而,如果键值较长,则很可能不执行校验和索引甚至常规索引。 1. 2. 3.CHECKSUM_AGG:返回组中各值的校验和。空值将被忽略1.语法与CHECKSUM一致。1.CHECKSUM_AGG可用于检测表中的更改。表中行的顺序不影响CHECKSUM_AGG的结果。此外,CHECKSUM_AGG函

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。