利用T-SQL集合函数验证总和校验

日期: 2010-05-30 作者:Robert Sheldon翻译:冯昀晖 来源:TechTarget中国 英文

SQL Server还提供了“CHECKSUM_AGG”函数,该函数支持对一组数值运行总和校验。这在检测某个表数据的变化时很方便。然而,要注意的是该总和校验只能被用在整数表达式上,在执行计算时会忽略“null”值。   下面的“SELECT”语句包括两个使用“CHECKSUM_AGG”的例子,一个带有“DISTINCT”关键字,另一个没带:   SELECT   CHECKSUM_AGG(CAST(Quantity AS int)) AS ChecksumAgg,   CHECKSUM_AGG(DISTINCT CAST(Quantity&nb……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

SQL Server还提供了“CHECKSUM_AGG”函数,该函数支持对一组数值运行总和校验。这在检测某个表数据的变化时很方便。然而,要注意的是该总和校验只能被用在整数表达式上,在执行计算时会忽略“null”值。

  下面的“SELECT”语句包括两个使用“CHECKSUM_AGG”的例子,一个带有“DISTINCT”关键字,另一个没带:

  SELECT
  CHECKSUM_AGG(CAST(Quantity AS int)) AS ChecksumAgg,
  CHECKSUM_AGG(DISTINCT CAST(Quantity AS int)) AS
  ChecksumDistinct
  FROM Production.ProductInventory;

  该语句从“ProductInventory ”表提取数据。我们在“Quantity ”列执行总和校验,但是因为该列被配置为“smallint”数据类型,所以在运行总和校验之前,我必须把它转化成“int”数据类型。下表显示了该语句返回的查询结果:

  正如你所看到的,总和校验对“Quantity ”列中非null值计算的结果是“262”,而对于不重复的,非null的值计算结果是“78”。

作者

Robert Sheldon
Robert Sheldon

自由技术撰稿人和技术咨询专家,曾出版和发布若干本书籍、文章和培训教材,重点关注Windows、数据库、商务智能等。

相关推荐