【问题标题】:Unique filtered index with multiple conditions in SQL ServerSQL Server 中具有多个条件的唯一筛选索引
【发布时间】:2017-09-18 10:55:56
【问题描述】:

是否可以在 SQL Server 中创建具有多个条件的过滤索引?

这是我想要做的,但给出了“不正确的语法”错误:

CREATE UNIQUE NONCLUSTERED INDEX IX_TestTable  
ON TestTable(MyIntColumn)  
WHERE MyIntColumn is not null OR MyIntColumn<>0

【问题讨论】:

  • 是的,你可以有多个条件——但是OR是不允许的,只有AND。你的情况没有什么意义,因为MyIntColumn &lt;&gt; 0 暗示 MyIntColumn IS NOT NULL.
  • 谢谢 Jeroen,这就是我一直在寻找的答案。我是 StackOverflow 的新手,似乎无法将您的评论标记为答案。结束话题的正确方法是什么?

标签: sql-server unique-index


【解决方案1】:

使用以下语法:

CREATE UNIQUE NONCLUSTERED INDEX IX_TestTable  
ON TestTable(MyIntColumn)  
WHERE ISNULL(MyIntColumn,0) <> 0

【讨论】:

    猜你喜欢
    • 2021-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-20
    • 1970-01-01
    • 1970-01-01
    • 2018-03-10
    • 2016-07-19
    相关资源
    最近更新 更多