我有一个 SQL 2008 表,其中列出了一堆文件的一些元数据,如下所示:
ID bigint FileName nvarchar(255) FileHash varbinary(512)
FileHash 是 FileName 列中文件路径的 SHA-512 哈希。
我可以运行 SELECT 并返回具有相同 FileHash 的 FileNames 吗?
我有一个 SQL 2008 表,其中列出了一堆文件的一些元数据,如下所示:
ID bigint FileName nvarchar(255) FileHash varbinary(512)
FileHash 是 FileName 列中文件路径的 SHA-512 哈希。
我可以运行 SELECT 并返回具有相同 FileHash 的 FileNames 吗?
declare @Nezbit as Table ( Id BigInt Identity, FileName NVarChar(255), FileHash VarBinary(512) );
insert into @Nezbit ( FileName, FileHash ) values
( 'Bob', 0x1234 ),
( 'Carol', 0x5678 ),
( 'Ted', 0x9abc ),
( 'Alice', 0xdef0 ),
( 'Robert', 0x1234 ),
( 'Lydia', 0xdef0 );
select FileName, FileHash
from @Nezbit as N
where exists ( select 42 from @Nezbit where FileHash = N.FileHash and Id <> N.Id )
order by FileHash, FileName;