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

Jak utworzyć unikatowe ograniczenie, które również dopuszcza wartości null?

To, czego szukasz, jest rzeczywiście częścią standardów ANSI SQL:92, SQL:1999 i SQL:2003, tj. ograniczenie UNIQUE musi zabraniać powielania wartości innych niż NULL, ale akceptować wiele wartości NULL.

Jednak w świecie Microsoft SQL Server pojedyncza wartość NULL jest dozwolona, ​​ale wiele wartości NULL nie jest...

W SQL Server 2008 , możesz zdefiniować unikalny filtrowany indeks na podstawie predykatu, który wyklucza wartości NULL:

CREATE UNIQUE NONCLUSTERED INDEX idx_yourcolumn_notnull
ON YourTable(yourcolumn)
WHERE yourcolumn IS NOT NULL;

We wcześniejszych wersjach można skorzystać z WIDOKÓW z predykatem NOT NULL, aby wymusić ograniczenie.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak przekonwertować małe litery na wielkie w programie SQL Server — UPPER()

  2. Jak zainstalować Azure Data Studio na komputerze Mac

  3. Jak Operator w Entity Framework?

  4. Wyświetl listę wszystkich kluczy obcych w tabeli w SQL Server

  5. Co oznacza podwójne w serwerze sql?