Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Составление SQL-запросов > Попасть в индекс при использовании replace


Автор: polin11 2.12.2018, 06:13
Использую СУБД Postgresql
Есть индекс по полю Код и индекс по условию lower("Код")
В запросах 
Код

select *
from "Коды"
where "Код" like 'Оди%'
select *
from "Коды"
where lower("Код") like 'Оди%'

Попадаю в нужные индексы. 
Проблема возникает при желании удалить пробелы: 
Код

select *
from "Коды"
where replace("Код", ' ','') like 'Оди%'
select *
from "Коды"
where replace(lower("Код"), ' ','') like 'Оди%'

Как правильно создать индекс, чтобы использовался в 2 проблемных запросах?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)