Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie erstelle ich eine eindeutige Einschränkung nur für den Datumsteil einer Datumszeit?

Nun, in SQL Server 2008 gibt es einen neuen Datentyp namens „DATE“ – Sie könnten diese Spalte verwenden und darauf einen Index erstellen.

Sie könnten Ihrer Tabelle natürlich auch eine berechnete Spalte vom Typ "DATE" hinzufügen und einfach den Datumsteil der DATETIME-Spalte in diese berechnete Spalte füllen, sie PERSISTED machen und sie indizieren. Sollte gut funktionieren!

Etwas in der Art:

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

CREATE UNIQUE INDEX UX_Entries ON Entries(DateOnly, Slug)

Markus