Sql server 2008 SQL Server-创建筛选索引

Sql server 2008 SQL Server-创建筛选索引,sql-server-2008,Sql Server 2008,我有一个带有dateTime列的表,我想在其上放置一个过滤索引。该索引将每周重新生成。每次重建时,我希望它包含两天以前的行和更新的行,基于此列。我可以创建这样一个过滤索引吗?我尝试过各种方法,但我发现语法错误 例如,以下关于索引创建的Where子句不起作用: WHERE (ReadTime > DateAdd(dd,-2,GetDate())) 您不能通过直接引用getdate()来完成此操作。您需要动态SQL 语法只允许与常量进行比较 CREATE [ UNIQUE ] [ CLUST

我有一个带有dateTime列的表,我想在其上放置一个过滤索引。该索引将每周重新生成。每次重建时,我希望它包含两天以前的行和更新的行,基于此列。我可以创建这样一个过滤索引吗?我尝试过各种方法,但我发现语法错误

例如,以下关于索引创建的Where子句不起作用:

WHERE (ReadTime > DateAdd(dd,-2,GetDate()))

您不能通过直接引用
getdate()
来完成此操作。您需要动态SQL

语法只允许与常量进行比较

CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name 
    ON <object> ( column [ ASC | DESC ] [ ,...n ] ) 
    [ INCLUDE ( column_name [ ,...n ] ) ]
    [ WHERE <filter_predicate> ]
    ... /*Irrelevant grammar removed*/

<filter_predicate> ::= 
    <conjunct> [ AND <conjunct> ]

<conjunct> ::=
    <disjunct> | <comparison>

<disjunct> ::=
        column_name IN (constant ,...n)

<comparison> ::=
        column_name <comparison_op> constant

<comparison_op> ::=
    { IS | IS NOT | = | <> | != | > | >= | !> | < | <= | !< }
CREATE[UNIQUE][CLUSTERED | NONCLUSTERED]INDEX_name
在(列[ASC | DESC][,…n])
[包括(列名称[,…n])]
[其中]
... /*删除无关语法*/
::= 
[及]
::=
| 
::=
列名称(常数,…n)
::=
列名称常量
::=

{IS | IS NOT |=| |!=|>|>=|!>=|!><|您不能直接引用
getdate()
来执行此操作。您需要动态SQL

语法只允许与常量进行比较

CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name 
    ON <object> ( column [ ASC | DESC ] [ ,...n ] ) 
    [ INCLUDE ( column_name [ ,...n ] ) ]
    [ WHERE <filter_predicate> ]
    ... /*Irrelevant grammar removed*/

<filter_predicate> ::= 
    <conjunct> [ AND <conjunct> ]

<conjunct> ::=
    <disjunct> | <comparison>

<disjunct> ::=
        column_name IN (constant ,...n)

<comparison> ::=
        column_name <comparison_op> constant

<comparison_op> ::=
    { IS | IS NOT | = | <> | != | > | >= | !> | < | <= | !< }
CREATE[UNIQUE][CLUSTERED | NONCLUSTERED]INDEX_name
在(列[ASC | DESC][,…n])
[包括(列名称[,…n])]
[其中]
…/*删除不相关的语法*/
::= 
[及]
::=
| 
::=
列名称(常数,…n)
::=
列名称常量
::=
{IS | IS NOT |=| | |!=|>|>=|!><|