Как использовать ILIKE в postgres с двумя столбцами - PullRequest
0 голосов
/ 26 марта 2020

У меня есть два столбца, которые называются фамилией и именем.

Например, у меня есть 3 пользователя

Zuckerberg Mark
Gates Bill
Jobs Steve

Если я ввожу только одну фразу, например "Ma" или "Mark" "или" Ворота "и др. c. мой запрос работает хорошо, но если я ввожу и фамилию, и имя, я получаю пустой результат

select
       u.surname,
       u.name,
       u.avatar
from users u
where (surname ilike '%Mark Zuckerberg%' or name ilike '%Mark Zuckerberg%')
order by surname, name

Как мне перестроить свой запрос для этой цели?

1 Ответ

1 голос
/ 26 марта 2020

Извините, в моем предыдущем ответе была опечатка, но это работает:

select
       u.surname,
       u.name,
       u.avatar
from users u
where ((u.surname ||' '|| u.name) ilike '%Mark Zuckerberg%' or (u.name ||' '||u.surname) ilike '%Mark Zuckerberg%')
order by surname, name

Вот ссылка sqlfiddle: http://sqlfiddle.com/#! 17 / 4e6ce / 7

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...