仅当非空时才具有唯一属性

时间:2014-01-04 16:14:39

标签: sql null unique sql-server-2014

我想定义一个唯一的列,但只有当它不为空时。

我的意思是可以有多个空值,但是当它们不为空时它们必须是不同的。我怎么能这样做?

1 个答案:

答案 0 :(得分:4)

在SQL Server 2008及更高版本中,您可以在索引上指定条件

CREATE UNIQUE NONCLUSTERED INDEX IX_Filtered_Index_Name ON your_table (some_column)
WHERE some_column IS NOT NULL