我有这张桌子:
CREATE TABLE Table01 (column01 nvarchar(100));
Run Code Online (Sandbox Code Playgroud)
我想用这个条件LEN(column01) >= 5在column01上创建一个唯一索引
我试过:
CREATE UNIQUE INDEX UIX_01 ON Table01(column01) WHERE LEN(column01) >= 5;
Run Code Online (Sandbox Code Playgroud)
我有:
表 'Table01' 上过滤索引 'UIX_01' 的 WHERE 子句不正确。
和 :
ALTER TABLE Table01 ADD column01_length AS (LEN(column01));
CREATE UNIQUE INDEX UIX_01 ON Table01(column01) WHERE column01_length >= 5;
Run Code Online (Sandbox Code Playgroud)
产生:
无法在表 'Table01' 上创建过滤索引 'UIX_01',因为过滤器表达式中的列 'column01_length' 是计算列。重写过滤器表达式,使其不包含此列。