我该如何设置一个只基于小写字母的索引?即使实际字段包含大小写字母。另外,我可以运行一个查询,只返回小写的索引值吗?
t5fffqht1#
您可以创建索引并将字段转换为大写或小写。然后当您进行查询时,您可以执行相同的转换,它会做正确的事情。于是:
CREATE UNIQUE INDEX lower_case_username ON users ((lower(username)));
字符串然后查询同样的事情:
SELECT username FROM users WHERE lower(username) = 'bob';
型
fiei3ece2#
根据the docs,你可以这样做:
CREATE UNIQUE INDEX lower_title_idx ON films ((lower(title)));
字符串
ijxebb2r3#
您也可以使用它来进行搜索:
CREATE INDEX IF NOT EXISTS foo_table_bar_field ON foo_table(lower(username))
字符串这样查询:
SELECT * FROM foo_table WHERE lower(username) like 'bob%'
jc3wubiy4#
CREATE UNIQUE INDEX my_index_name ON my_table (LOWER(my_field));
4条答案
按热度按时间t5fffqht1#
您可以创建索引并将字段转换为大写或小写。然后当您进行查询时,您可以执行相同的转换,它会做正确的事情。
于是:
字符串
然后查询同样的事情:
型
fiei3ece2#
根据the docs,你可以这样做:
字符串
ijxebb2r3#
您也可以使用它来进行搜索:
字符串
这样查询:
型
jc3wubiy4#
字符串