CHECKSUM 會針對它的引數清單,來計算稱為總和檢查碼的雜湊值 
CHECKSUM可應用於比對兩個資料表內容,列出經過CHECKSUM後雜湊值不符的資料列。範例程式碼如下。

需注意的是,此函數無法應用於下列資料型態:
text、ntext、image、XML 和 cursor,以及基底類型為上述任一類型的 sql_variant。

 

USE tempdb
GO
--****************建立範例資料表Start*******************
IF  EXISTS (SELECT * FROM sys.objects WHERE 
 object_id = OBJECT_ID(N'[dbo].[tblA]') AND type in (N'U'))
DROP TABLE [dbo].[tblA]
GO
CREATE TABLE dbo.tblA
    (    c1 int NOT NULL IDENTITY (1, 1),
    c2 nvarchar(10) NULL    ) 
GO 
IF  EXISTS (SELECT * FROM sys.objects  WHERE
 object_id = OBJECT_ID(N'[dbo].[tblA]') AND type in (N'U')) DROP TABLE [dbo].[tblB] GO CREATE TABLE dbo.tblB ( c1 int NOT NULL IDENTITY (1, 1), c2 nvarchar(10) NULL ) GO INSERT INTO tblA (C2) VALUES(N'測試A'),(N'測試B'),(N'測試C') INSERT INTO tblB (C2) VALUES(N'測試A'),(N'測試D'),(N'測試C') --SELECT * FROM tblA --SELECT * FROM tblB --****************建立範例資料表 END******************* select * FROM (select CHECKSUM(*) aCheckSum,* from tblA) a JOIN (select checksum(*) bCheckSum,* from tblB) b on a.c1=b.c1 where aCheckSum <> bCheckSum

參考線上說明mssqltips.com

arrow
arrow
    全站熱搜

    小草 發表在 痞客邦 留言(0) 人氣()