Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да създадете уникално ограничение само върху частта от датата на дата и час?

Е, в SQL Server 2008 има нов тип данни, наречен "ДАТА" - можете да използвате тази колона и да създадете индекс върху нея.

Можете, разбира се, също да добавите изчислена колона от тип "ДАТА" към вашата таблица и просто да попълните частта от датата на колоната DATETIME в тази изчислена колона, да я направите ПОСТЪПНА и да я индексирате. Трябва да работи добре!

Нещо подобно:

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

CREATE UNIQUE INDEX UX_Entries ON Entries(DateOnly, Slug)

Марк



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL 2008 R2 - Тригери, базирани на времето?

  2. sumProduct в sql

  3. Топ 5 функции, които вашата платформа за мониторинг на ефективността на базата данни на SQL Server трябва да предостави

  4. Съединяване на три маси със съединения, различни от INNER JOIN

  5. SQL Server:как да изчисля медианата (групиране по)?