Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

SQL Server 2008 - Colonna calcolata HashBytes

La colonna hashbytes viene creata come VARBINARY(MAX) a meno che tu non gli dica specificamente che 20 byte sono sufficienti:

alter table dbo.Softs 
  add TitleHash AS CAST(hashbytes('SHA1', [Title]) AS VARBINARY(20)) PERSISTED

Dopo averlo fatto, puoi creare il tuo indice (unico o meno) su quella colonna:

CREATE UNIQUE NONCLUSTERED INDEX [UIX_TitleHash] 
  ON [dbo].[Softs]([TitleHash] ASC)

Ora dovrebbe funzionare bene.