0

我有一个 SQL 2008 表,其中列出了一堆文件的一些元数据,如下所示:

ID bigint FileName nvarchar(255) FileHash varbinary(512)

FileHash 是 FileName 列中文件路径的 SHA-512 哈希。

我可以运行 SELECT 并返回具有相同 FileHash 的 FileNames 吗?

4

1 回答 1

1
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;
于 2013-05-25T17:08:36.330 回答