Как мне создать индекс в PostgreSQL только на основе строчных букв? - PullRequest
35 голосов
/ 20 октября 2010

Как настроить индекс, основанный только на нижнем регистре?

Несмотря на то, что фактическое поле содержит как прописные, так и строчные буквы.

Кроме того, можно ли выполнить запрос и получитьвозвращается только значение индекса нижнего регистра?

Ответы [ 3 ]

52 голосов
/ 20 октября 2010

Вы можете создать индекс и преобразовать поле в верхний или нижний регистр.Затем, когда вы делаете ваши запросы, вы можете сделать то же самое преобразование, и оно будет делать правильные вещи.

Итак:

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

Затем запросить то же самое:1007 *

8 голосов
/ 20 октября 2010

Согласно документам вы можете сделать это:

CREATE UNIQUE INDEX lower_title_idx ON films ((lower(title)));
3 голосов
/ 20 октября 2010
CREATE UNIQUE INDEX my_index_name ON my_table (LOWER(my_field));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...