Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak utworzyć unikalne ograniczenie tylko w części daty daty i godziny?

Cóż, w SQL Server 2008 jest nowy typ danych o nazwie "DATE" - możesz użyć tej kolumny i utworzyć na niej indeks.

Można oczywiście dodać do tabeli kolumnę obliczeniową typu „DATE” i po prostu wypełnić część kolumny DATETIME w tej kolumnie obliczeniowej, ustawić ją na PERSISTED i zindeksować. Powinno działać dobrze!

Coś takiego:

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

CREATE UNIQUE INDEX UX_Entries ON Entries(DateOnly, Slug)

Marek



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nie można wstawić wartości null do datetime na serwerze sql

  2. Utwórz bazę danych w SQL Server 2017

  3. Tabela przestawna serwera SQL Server z agregacjami wielu kolumn

  4. Pobieranie n-tego elementu od ostatniego w xml na serwerze Sql

  5. POKAŻ BAZY DANYCH Odpowiednik w SQL Server – sp_databases