Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

SQL Server 2008 - Colonne calculée HashBytes

La colonne hashbytes est créée en tant que VARBINARY(MAX) à moins que vous ne lui disiez spécifiquement que 20 octets suffisent :

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

Une fois que vous avez fait cela, vous pouvez créer votre index (unique ou non) sur cette colonne :

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

Maintenant, cela devrait fonctionner correctement.