开发者社区> 技术小甜> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

CHECKSUM 相关函数:CHECKSUM、CHECKSUM_AGG、BINARY_CHECKSUM和HASHBYTES

简介:
+关注继续查看

CHECKSUM 相关函数:CHECKSUM、CHECKSUM_AGG、BINARY_CHECKSUM和HASHBYTES

CHECKSUM 函数的主要意图是基于一个表达式或者列表创建一个哈希索引。如果说你用它在表级别计算和存储一个列,表示基于这些列上的 CHECKSUM 使得这条记录在表里唯一,而这有助于判断是否一行数据有改变。这个架构可被用来替代关联所有的列使得记录唯一,来检查是否这条记录被更新。

 

当使用这些函数的时候,有些需要注意的:

1. 你需要确保在两次 CHECKSUM 比较之间,列或表达式的顺序是相同的,否则结果将会不同。

2. 不推荐用 CHECKSUM(*),因为这种方式产生的值将会依赖于在运行时表定义的列顺序,在这个过程中表顺序可能会被改变。所以,显示定义列的列表。

3. 当包含 datetime 数据类型的列时要注意,因为它是精确到1/300秒,小的变动就导致不同的CHECKSUM值。因此,如果你不得不使用 datetime 类型列,你先要确保获得准确的日期加小时或分钟的组合,这个取决于你想要的精确度。

 

四个相关的函数,下面介绍:

 

【内置函数 - 系统函数 - CHECKSUM】

功能:返回按照表的某一行或一组表达式计算出来的校验和值。 CHECKSUM 用于生成哈希索引。

语法:CHECKSUM ( * | expression [ ,...n ] )

参考:https://msdn.microsoft.com/zh-cn/library/ms189788.aspx

 

【内置函数 - 聚合函数 - CHECKSUM_AGG】

功能:返回组中各值的校验和。 将忽略 Null 值。 后面可以跟随 OVER 子句。

语法:CHECKSUM_AGG ( [ ALL | DISTINCT ] expression )

参考:https://msdn.microsoft.com/zh-cn/library/ms188920.aspx

 

【内置函数 - 系统函数 - BINARY_CHECKSUM】

功能:返回按照表的某一行或表达式列表计算的二进制校验和值。 BINARY_CHECKSUM 可用于检测表中行的更改。

语法:BINARY_CHECKSUM ( * | expression [ ,...n ] )

参考:https://msdn.microsoft.com/zh-cn/library/ms173784.aspx

 

【内置函数 - 加密函数 - HASHBYTES】

功能:返回其在 SQL Server 中的输入的 MD2、MD4、MD5、SHA、SHA1 或 SHA2 哈希值。

语法:HASHBYTES ( '<algorithm>', { @input | 'input' } )

<algorithm>::= MD2 | MD4 | MD5 | SHA | SHA1 | SHA2_256 | SHA2_512

参考:https://msdn.microsoft.com/zh-cn/library/ms174415.aspx















本文转自UltraSQL51CTO博客,原文链接:http://blog.51cto.com/ultrasql/1607398 ,如需转载请自行联系原作者



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
图解浏览器安全(同源策略、XSS、CSRF、跨域、HTTPS、安全沙箱等串成糖葫芦)
图解浏览器安全(同源策略、XSS、CSRF、跨域、HTTPS、安全沙箱等串成糖葫芦)
22 0
如何为 Spring Cloud Alibaba 贡献代码(How to contribute)
Spring Cloud Alibaba 从开源建设以来,受到了很多社区同学的关注。社区的每一个 issue ,每一个 PR,都是对整个项目的帮助,都在为建设更好用的 Spring Cloud 添砖加瓦。
5232 0
通过iotop与performance_schema.threads查看mysql的IO使用情况
通过iotop与performance_schema.threads查看mysql的IO使用情况
2003 0
Web Application Firewall Cloud Options: Alibaba Cloud WAF & AWS WAF
A web application or a REST API hosted in a cloud is a common scenario for most developers.
2577 0
云盾WAF实现虚拟补丁——记一起Web漏洞应急响应
本文从一起漏洞应急响应案例介绍了:如何在极短的时间内通过阿里云云盾产品Web应用防火墙WAF制作虚拟补丁,临时缓解Web漏洞的影响。
8035 0
【ASP.NET Web API教程】5.1 HTTP消息处理器
原文:【ASP.NET Web API教程】5.1 HTTP消息处理器 注:本文是【ASP.NET Web API系列教程】的一部分,如果您是第一次看本系列教程,请先看前面的内容。 5.1 HTTP Message Handlers 5.
830 0
webform TextBox以一条横线显示 ---兼容各主流瀏覽器
 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="DefaultForm1.aspx.cs" Inherits="Rewriter.DefaultForm1" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "htt
605 0
+关注
10136
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载