UNIQUE NULLS NOT DISTINCT (…)


BigQueryDb2 (LUW)DerbyH2MariaDBMySQLOracle DBPostgreSQLSQL ServerSQLite20152017201920212023⊘ 3.5.7 - 3.50.0⊘ 2008R2 - 2022✓ 15 - 17⊘ 8.3 - 14⊘ 11gR1 - 23.9⊘ 5.0 - 9.3.0⊘ 5.1 - 12.0.2✓ 2.2.220 - 2.3.232⊘ 1.4.191 - 2.1.214⊘ 10.15.1.3 - 10.17.1.0

Unique-Constraints akzeptieren den Zusatz nulls not distinct um festzulegen, dass ein Null-Wert in einer Spalte andere Null-Werte in derselben Spalte des Constrains ausschließt.

CREATE TABLE … (
   …,
   UNIQUE NULLS NOT DISTINCT (…)
)

Implementierungsdefiniertes Verhalten

Ohne Angabe von Nulls [not] distinct ist das Default-Verhalten von Unqiue-Constraints Implementierungsdefiniert. Beachte, dass Nulls not distinct Unqiue-Constraints Null-Werte als unterschiedliche Werte behandeln dürfen, wenn alle Spalten des Constraints den Null-Wert haben.0

BigQuery 2025-09-02aaaaDb2 (LUW) 12.1.2aaaaDerby 10.17.1.0H2 2.3.232MariaDB 12.0.2MySQL 9.3.0Oracle DB 23.9PostgreSQL 17SQL Server 2022SQLite 3.50.0ID106: nulls distinctID106: nulls not distinctIA201: nulls distinctIA201: nulls not distinct
  1. Unterstützt keine Null-baren Spalten in Unique-Constraints (T591)

Normative Referenzen

Der Zusatz nulls not distinct gehört zum optionalen Feature F292, „UNIQUE null treatment“.

Beachte, dass SQL:2016 und vorherige Standards nulls distinct als Standardverhalten vorgeschrieben haben. Im genannten Entwurf is das Standardverhalten allerdings von der Implementierung vorgegeben.

20 Jahre SQL-Evolution kann man nicht an einem Tag nachholen. Abonniere den Newsletter via E-Mail, Bluesky oder RSS, um sukzessive aufzuholen und modern-sql.com am Radar zu behalten.

Über den Autor

Foto von Markus Winand

Markus Winand gibt auf modern-sql.com Einblick in SQL und zeigt, wie es von verschiedenen Systemen unterstützt wird. Zuvor machte er use-the-index-luke.com, was er noch immer wartet. Markus kann als Trainer, Sprecher und Berater auf winand.at engagiert werden.

Sein Buch kaufen

Titelbild von „SQL Performance Explained“: Eichhörnchen läuft durchs Grass

Die Essenz: SQL-Tuning auf 200 Seiten

Jetzt Kaufen
(Taschenbuch und/oder PDF)

Sein Training

Markus verwandelt veraltetes SQL-92-Wissen in solides und zeitgemäßes SQL-Know-how

Erfahren Sie mehr»

Fußnoten

  1. ISO/IEC 9075-2:2023 §4.25.3.2, insb. NOTE 52.

Neuigkeiten Abonnieren

Markus Winands MailinglistenMarkus Winands RSS-FeedMarkus Winand auf LinkedInMarkus Winand auf XINGMarkus Winand auf TwitterMarkus Winand auf Bluesky
Copyright 2015-2025 Markus Winand. Alle Rechte vorbehalten.
Impressum | Kontakt | KEINE GEWÄHR | Handelsmarken | Datenschutz und DSGVO