PostgreSQL: Case insensitive search
От: yenik  
Дата: 28.07.22 07:50
Оценка:
Подскажите плс, как реализовать нечувствительный к регистру поиск по русским именам, и чтобы при этом использовался индекс.
Таблица такая.

CREATE TABLE IF NOT EXISTS public.names
(
    id integer NOT NULL,
    name character varying(50) COLLATE pg_catalog."default" NOT NULL,
    CONSTRAINT names_pkey PRIMARY KEY (id)
)
CREATE INDEX IF NOT EXISTS idx_name
    ON public.names USING btree
    (name ASC NULLS LAST)
    TABLESPACE pg_default;


Например, запрос:

SELECT name FROM names WHERE name LIKE 'АБ%'

Нужно, чтобы возвращались строки с разным регистром:

"АбвгД"
"аБВ"
"АБББ"
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.