如何在PostgreSQL中创建一个基于MySQL的索引?

lf3rwulv  于 12个月前  发布在  PostgreSQL
关注(0)|答案(4)|浏览(257)

我该如何设置一个只基于小写字母的索引?
即使实际字段包含大小写字母。
另外,我可以运行一个查询,只返回小写的索引值吗?

t5fffqht

t5fffqht1#

您可以创建索引并将字段转换为大写或小写。然后当您进行查询时,您可以执行相同的转换,它会做正确的事情。
于是:

CREATE UNIQUE INDEX lower_case_username ON users ((lower(username)));

字符串
然后查询同样的事情:

SELECT username FROM users WHERE lower(username) = 'bob';

fiei3ece

fiei3ece2#

根据the docs,你可以这样做:

CREATE UNIQUE INDEX lower_title_idx ON films ((lower(title)));

字符串

ijxebb2r

ijxebb2r3#

您也可以使用它来进行搜索:

CREATE INDEX IF NOT EXISTS foo_table_bar_field ON foo_table(lower(username))

字符串
这样查询:

SELECT * FROM foo_table WHERE lower(username) like 'bob%'

jc3wubiy

jc3wubiy4#

CREATE UNIQUE INDEX my_index_name ON my_table (LOWER(my_field));

字符串

相关问题