sql >> Database >  >> RDS >> Sqlserver

Hoe maak je een unieke beperking alleen op het datumgedeelte van een datetime?

Welnu, in SQL Server 2008 is er een nieuw datatype genaamd "DATE" - je zou die kolom kunnen gebruiken en daarop een index kunnen maken.

U kunt natuurlijk ook een berekende kolom van het type "DATE" aan uw tabel toevoegen en gewoon het datumgedeelte van de DATETIME-kolom in die berekende kolom vullen, deze PERSISTED maken en deze indexeren. Zou prima moeten werken!

Zoiets:

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

CREATE UNIQUE INDEX UX_Entries ON Entries(DateOnly, Slug)

Marc



  1. Tabeltype in Oracle Stored Procedure Voorbeeld

  2. Efficiënt samenvoegen over intervalbereiken in SQL

  3. Conditional Split Transformation:gegevens exporteren van SQL Server naar Oracle- en MySQL-databases

  4. Hoe een bestand in mysql DB op een gedeeld hostingplatform te laden?