Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何允许空值重复?_Sql_Sql Server_Sql Server 2008_Tsql - Fatal编程技术网

Sql 如何允许空值重复?

Sql 如何允许空值重复?,sql,sql-server,sql-server-2008,tsql,Sql,Sql Server,Sql Server 2008,Tsql,我在桌子上用过这个 alter table Draftsmen ADD constraint uc_draftsmen UNIQUE([DraftsmanCNICNo]) 它可以工作,但也不允许重复NULL值,因为它是唯一的约束 我想允许重复NULL。在这种约束下如何做 标准SQL允许这样做,但在SQL Server中,您不能这样做 相反,在SQL Server 2008及更高版本中,您可以创建唯一的筛选索引并排除NULLs CREATE UNIQUE NONCLUSTERED INDEX

我在桌子上用过这个

alter table Draftsmen
  ADD constraint uc_draftsmen UNIQUE([DraftsmanCNICNo])
它可以工作,但也不允许重复
NULL
值,因为它是唯一的约束


我想允许重复
NULL
。在这种约束下如何做

标准SQL允许这样做,但在SQL Server中,您不能这样做

相反,在SQL Server 2008及更高版本中,您可以创建唯一的筛选索引并排除
NULL
s

CREATE UNIQUE NONCLUSTERED INDEX Idx_columnName
ON tableName(columnName)
WHERE columnName IS NOT NULL
可能重复的