在 CockroachDB 中创建索引时使用列名的子字符串

Using a sub-string of the column name in creating index in CockroachDB

从 Oracle 迁移到 CockroachDB,我正在使用如下创建索引的命令:

CREATE INDEX ON "sales" (substring("a",0,19), substring("b",20,2), "c");

我得到的错误是:

invalid syntax: statement ignored: unimplemented at or near ")"
CREATE INDEX ON "sales" (substring("a",0,19), substring("b",20,2), "c");

我也用过:substr

但错误是一样的

--

编辑1: 修改命令的错误

CREATE INDEX ON "sales" (substring("a",0,19));

会一样。

您正在尝试使用计算索引 - 一个索引,其键比列引用更复杂。 CockroachDB 还不支持计算索引。

添加对计算索引的支持存在未决问题:

https://github.com/cockroachdb/cockroach/issues/9682

Cockroach-DB Create INDEX Sypnosis.

根据验证字符串以在 table 中创建索引的自动机,不可能使用子字符串函数。