CHECKSUM返回在表的行上或在表达式列表上计算的校验值。CHECKSUM 用于生成哈希索引。
语句意思是指当ta某行的校验值在ta中存在,就将该行查询出来。
语句意思是指当ta某行的校验值在ta中存在,就将该行查询出来。
解决方案 »
- 请教各位大侠,2个日期之间的天数怎么求?
- 关于删除表中海量数据的方法讨论,请高手们指教,解决了100分!
- 超难问题 !!!!!! 如何用 T-SQL语句 判断 一个文件 是不是 SQL SERVER 的test 数据库有效的备份文件 ??? 急!!!!!???
- 数据库连接问题.请帮忙(急!!)
- 急啊,使用sql 2000的全文索引出现如下错误
- in子查询、exists子查询、连接,效率的探讨
- SQL Server故障,请高手赐教
- 急救呀!存储过程声明变量的问题!小第不才!
- 请问这样的sql语句怎么写!就是从数据库服务器A取几条数据然后插入到另一个数据库服务器B里的表里(表基本相同)
- 存储过程的问题
- 数据合并
- DataSet能不能做group by?望高手指点~~~~~
INSERT INTO #a
SELECT 1677,5,'提拔',0,2,'黄国锋','99CA53C3-5139-4A97-B51-776032078DE1','行政管理部' UNION ALL
SELECT 1678,6,'不提拔',0,2,'黄国锋','99CA53C3-5139-4A97-B51-776032078DE1','行政管理部' UNION ALL
SELECT 1679,7,'预备',0,2,'黄国锋','99CA53C3-5139-4A97-B51-776032078DE1','行政管理部' UNION ALL
SELECT 1680,10,'提拔',0,3,'黄国锋','99CA53C3-5139-4A97-B51-776032078DE1','行政管理部' UNION ALL
SELECT 1681,11,'不提拔',0,3,'黄国锋','99CA53C3-5139-4A97-B51-776032078DE1','行政管理部' UNION ALL
SELECT 1682,12,'王五11',0,4,'黄国锋','99CA53C3-5139-4A97-B51-776032078DE1','行政管理部' UNION ALL
SELECT 1683,13,'达到',0,5,'黄国锋','99CA53C3-5139-4A97-B51-776032078DE1','行政管理部' UNION ALL
SELECT 1684,5,'提拔',0,2,'杨东视','A0EB3B4B-947D-4B06-8911-B4D237D3A1','行政管理部' UNION ALL
SELECT 1685,6,'不提拔',0,2,'杨东视','A0EB3B4B-947D-4B06-8911-B4D237D3A1','行政管理部' UNION ALL
SELECT 1686,7,'预备',0,2,'杨东视','A0EB3B4B-947D-4B06-8911-B4D237D3A1','行政管理部' UNION ALL
SELECT 1687,10,'提拔',0,3,'杨东视','A0EB3B4B-947D-4B06-8911-B4D237D3A1','行政管理部' UNION ALL
SELECT 1688,11,'不提拔',0,3,'杨东视','A0EB3B4B-947D-4B06-8911-B4D237D3A1','行政管理部' UNION ALL
SELECT 1689,12,'王五11',0,4,'杨东视','A0EB3B4B-947D-4B06-8911-B4D237D3A1','行政管理部' UNION ALL
SELECT 1690,13,'达到',0,5,'杨东视','A0EB3B4B-947D-4B06-8911-B4D237D3A1','行政管理部'create table #b(cphzid int,itemsid int ,Name varchar(20),VoteCount int,SubjectID int, Username varchar(20),userguid varchar(80),bumen varchar(20))
INSERT INTO #b
SELECT 677,5,'提拔',0,2,'黄国锋','99CA53C3-5139-4A97-B51-776032078DE1','行政管理部' UNION ALL
SELECT 678,6,'不提拔',0,2,'黄国锋','99CA53C3-5139-4A97-B51-776032078DE1','行政管理部' UNION ALL
SELECT 679,7,'预备',0,2,'黄国锋','99CA53C3-5139-4A97-B51-776032078DE1','行政管理部' UNION ALL
SELECT 680,10,'提拔',0,3,'黄国锋','99CA53C3-5139-4A97-B51-776032078DE1','行政管理部' UNION ALL
SELECT 681,11,'不提拔',0,3,'黄国锋','99CA53C3-5139-4A97-B51-776032078DE1','行政管理部' UNION ALL
SELECT 682,12,'王五11',0,4,'黄国锋','99CA53C3-5139-4A97-B51-776032078DE1','行政管理部' UNION ALL
SELECT 683,13,'达到',0,5,'黄国锋','99CA53C3-5139-4A97-B51-776032078DE1','行政管理部' UNION ALL
SELECT 684,5,'提拔',0,2,'杨东视','A0EB3B4B-947D-4B06-8911-B4D237D3A1','行政管理部' UNION ALL
SELECT 685,6,'不提拔',0,2,'杨东视','A0EB3B4B-947D-4B06-8911-B4D237D3A1','行政管理部' UNION ALL
SELECT 686,7,'预备',0,2,'杨东视','A0EB3B4B-947D-4B06-8911-B4D237D3A1','行政管理部' UNION ALL
SELECT 687,10,'提拔',0,3,'杨东视','A0EB3B4B-947D-4B06-8911-B4D237D3A1','行政管理部' UNION ALL
SELECT 688,11,'不提拔',0,3,'杨东视','A0EB3B4B-947D-4B06-8911-B4D237D3A1','行政管理部' UNION ALL
SELECT 689,12,'王五11',0,4,'杨东视','A0EB3B4B-947D-4B06-8911-B4D237D3A1','行政管理部' UNION ALL
SELECT 690,13,'达到',0,5,'杨东视','A0EB3B4B-947D-4B06-8911-B4D237D3A1','行政管理部'select checksum(*),* from #a
(无列名) cphzid itemsid Name VoteCount SubjectID Username userguid bumen
-2115768216 1677 5 提拔 0 2 黄国锋 99CA53C3-5139-4A97-B51-776032078DE1 行政管理部
1726956757 1678 6 不提拔 0 2 黄国锋 99CA53C3-5139-4A97-B51-776032078DE1 行政管理部
-1797193611 1679 7 预备 0 2 黄国锋 99CA53C3-5139-4A97-B51-776032078DE1 行政管理部
1591992425 1680 10 提拔 0 3 黄国锋 99CA53C3-5139-4A97-B51-776032078DE1 行政管理部
-1678813996 1681 11 不提拔 0 3 黄国锋 99CA53C3-5139-4A97-B51-776032078DE1 行政管理部
-1124333762 1682 12 王五11 0 4 黄国锋 99CA53C3-5139-4A97-B51-776032078DE1 行政管理部
1523028167 1683 13 达到 0 5 黄国锋 99CA53C3-5139-4A97-B51-776032078DE1 行政管理部
-1644641069 1684 5 提拔 0 2 杨东视 A0EB3B4B-947D-4B06-8911-B4D237D3A1 行政管理部
1525969006 1685 6 不提拔 0 2 杨东视 A0EB3B4B-947D-4B06-8911-B4D237D3A1 行政管理部
-1996868402 1686 7 预备 0 2 杨东视 A0EB3B4B-947D-4B06-8911-B4D237D3A1 行政管理部
-1560750893 1687 10 提拔 0 3 杨东视 A0EB3B4B-947D-4B06-8911-B4D237D3A1 行政管理部
-2014027666 1688 11 不提拔 0 3 杨东视 A0EB3B4B-947D-4B06-8911-B4D237D3A1 行政管理部
-2132331644 1689 12 王五11 0 4 杨东视 A0EB3B4B-947D-4B06-8911-B4D237D3A1 行政管理部
1188865149 1690 13 达到 0 5 杨东视 A0EB3B4B-947D-4B06-8911-B4D237D3A1 行政管理部select checksum(*),* from #b
(无列名) cphzid itemsid Name VoteCount SubjectID Username userguid bumen
31715370 677 5 提拔 0 2 黄国锋 99CA53C3-5139-4A97-B51-776032078DE1 行政管理部
-420526953 678 6 不提拔 0 2 黄国锋 99CA53C3-5139-4A97-B51-776032078DE1 行政管理部
350289975 679 7 预备 0 2 黄国锋 99CA53C3-5139-4A97-B51-776032078DE1 行政管理部
-555491286 680 10 提拔 0 3 黄国锋 99CA53C3-5139-4A97-B51-776032078DE1 行政管理部
468669591 681 11 不提拔 0 3 黄国锋 99CA53C3-5139-4A97-B51-776032078DE1 行政管理部
1023149949 682 12 王五11 0 4 黄国锋 99CA53C3-5139-4A97-B51-776032078DE1 行政管理部
-624455548 683 13 达到 0 5 黄国锋 99CA53C3-5139-4A97-B51-776032078DE1 行政管理部
502842512 684 5 提拔 0 2 杨东视 A0EB3B4B-947D-4B06-8911-B4D237D3A1 行政管理部
-621514707 685 6 不提拔 0 2 杨东视 A0EB3B4B-947D-4B06-8911-B4D237D3A1 行政管理部
150615181 686 7 预备 0 2 杨东视 A0EB3B4B-947D-4B06-8911-B4D237D3A1 行政管理部
586732688 687 10 提拔 0 3 杨东视 A0EB3B4B-947D-4B06-8911-B4D237D3A1 行政管理部
133455916 688 11 不提拔 0 3 杨东视 A0EB3B4B-947D-4B06-8911-B4D237D3A1 行政管理部
15152070 689 12 王五11 0 4 杨东视 A0EB3B4B-947D-4B06-8911-B4D237D3A1 行政管理部
-958618561 690 13 达到 0 5 杨东视 A0EB3B4B-947D-4B06-8911-B4D237D3A1 行政管理部select * from #a where checksum(*) in (select checksum(*) from #b)
(0 行受影响)
实验
declare @a int
declare @b int
set @a=6
set @b=31
select checksum(@a,@b),checksum(@a)*16+checksum(@b),checksum(@a),checksum(@b) 当 @a=1 @b=32 时 checksum(@a,@b)=checksum(@a)*16+checksum(@b)
换几个参数发现有时候不等
再实验又发现 checksum(1,16)=0
推断 checksum(@a,@b)与checksum(@a),checksum(@b)
的16进制数有关 而却不只一两种算法 ----
DROP TABLE tb1
Go
CREATE TABLE tb1(stuid INT,subid INT,score INT)
Go
INSERT INTO tb1
SELECT 1,1,65 UNION ALL
SELECT 1,2,58 UNION ALL
SELECT 2,1,58 UNION ALL
SELECT 2,3,98 UNION ALL
SELECT 3,1,85 UNION ALL
SELECT 3,2,56 UNION ALL
SELECT 3,3,90
GO
IF OBJECT_ID('tb2') IS NOT NULL
DROP TABLE tb2
Go
CREATE TABLE tb2(stuid INT,subid INT,score INT)
Go
INSERT INTO tb2
SELECT 1,1,65 UNION ALL
SELECT 1,2,58 UNION ALL
SELECT 2,1,58 UNION ALL
SELECT 2,3,98 UNION ALL
SELECT 3,1,85 UNION ALL
SELECT 3,2,56 UNION ALL
SELECT 3,3,91
GO
select * from tb1 where checksum(*) in (select checksum(*) from tb2)
/*
stuid subid score
----------- ----------- -----------
1 1 65
1 2 58
2 1 58
2 3 98
3 1 85
3 2 56(6 行受影响)
*/