Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to use ILIKE in postgres with two columns

Tags:

sql

postgresql

I have two columns which are called surname and name.

For example I have 3 users

Zuckerberg Mark
Gates Bill
Jobs Steve

If my input is only one phrase such as "Ma" or "Mark" or "Gate" etc. my query works well, but if i enter and surname and name I got an empty result

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

How can I rebuild my query for this goal?

like image 376
Viktor Avatar asked Jan 23 '26 15:01

Viktor


1 Answers

Sorry my previous answer had a typo, but this works:

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

Here's a sqlfiddle link: http://sqlfiddle.com/#!17/4e6ce/7

like image 85
Gabriel Durac Avatar answered Jan 26 '26 06:01

Gabriel Durac



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!