我有一个 Postgres 表,其中电话字段存储为varchar(10)
,但我们经常搜索区号,例如:
select * from bus_t where bus_phone like '555%'
我想创建一个索引来促进这些搜索,但在尝试时出现错误:
CREATE INDEX bus_ph_3 ON bus_t USING btree (bus_phone::varchar(3));
ERROR: 42601: syntax error at or near "::"
我的第一个问题是,我如何做到这一点,但我也想知道对字段的前 X 个字符进行索引是否有意义,或者对整个字段进行索引是否同样有效。