SQL 92仕様(およびその読み方)によると、一意の制約は候補キーを示すことを目的としているため、重複する値を許可することはできません NULL値。 DB2は、この方法で独自の制約を実装します。少数のデータベースベンダー(MySQLを含む)は、Group By句がNULL値を無視するのと同じように、NULL値を無視するものとして仕様を読んでいるため、NULL以外の値にのみ適用されるように一意の制約を実装しています。さらに、NULLをそれ自体の特別な値として扱い、NULLであるエントリを1つだけ許可することもできます。 Microsoft SQL Serverは、この方法で固有の制約を実装します。一意の制約に関してすべてのベンダー間で一貫している唯一の側面は、NULL以外の値は一意でなければならないということです。