sql >> Databasteknik >  >> RDS >> Sqlserver

Hur skapar man en unik begränsning bara på datumdelen av en datetime?

Tja, i SQL Server 2008 finns det en ny datatyp som heter "DATE" - du kan använda den kolumnen och skapa ett index för den.

Du kan naturligtvis också lägga till en beräknad kolumn av typen "DATE" i din tabell och bara fylla i datumdelen av DATETIME-kolumnen i den beräknade kolumnen, göra den PERSISTED och indexera den. Borde fungera bra!

Något sådant:

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

CREATE UNIQUE INDEX UX_Entries ON Entries(DateOnly, Slug)

Marc



  1. MySQL:Infoga post om den inte finns i tabellen

  2. Java:Läser Blob från Oracle

  3. MySQL multidimensionell? Dynamisk pivot

  4. MySQL-fråga för att hitta vänner och antal gemensamma vänner