我有SQL Server 2012 Standard和一个列[IS_Deleted]
的表。
如何使用条件创建过滤索引?
where [IS_Deleted] is null or [IS_Deleted] = 0
答案 0 :(得分:0)
正如评论所说,你不能这样做。有关详细信息,请参阅TechNet。
考虑使用Arshad Ali在MSSQLTips
上讨论的索引视图CREATE VIEW OnlyNotDeleted AS (
...
WHERE ISNULL(IS_Deleted,0)=0
)
然后索引视图上的相应字段。
答案 1 :(得分:0)
作为另一个选项,您可以通过此列创建计算列和索引。
create table tst10 (
id int,
f int
)
insert into tst10(id, f) values (1, 0)
insert into tst10(id, f) values (2, 1)
insert into tst10(id) values (3)
select * from tst10
alter table tst10
add dummyColumn as ISNULL(f, 0)
select * from tst10
create index dummyColumnIdx on tst10(dummyColumn)