Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como criar uma restrição exclusiva apenas na parte de data de um datetime?


Bem, no SQL Server 2008, há um novo tipo de dados chamado "DATE" - você pode usar essa coluna e criar um índice nela.

Você também pode adicionar uma coluna computada do tipo "DATE" à sua tabela e apenas preencher a parte de data da coluna DATETIME nessa coluna computada, torná-la PERSISTED e indexá-la. Deve funcionar muito bem!

Algo parecido:
ALTER TABLE dbo.Entries
   ADD DateOnly as CAST(CompositionDate AS DATE) PERSISTED

CREATE UNIQUE INDEX UX_Entries ON Entries(DateOnly, Slug)

Marco