Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Include space in mysql like search

Tags:

mysql

sql-like

I am having problem in using mysql like keyword in certain condition. My requirement goes like this. First, when i search for 'ABC', the result should find ABC and ABCdef but not xyzABCdef or xyzABC. It seems simple at first to use ABC%. but in condition when i search for 'heart%', it doesnot return row that have 'liver heart' because it returns only row that have heart at the beginning of the string.Then i tried using % heart%.This returned row having 'liver heart' but not those rows that have heart at the beginning of string. I am kind of stuck here..so guys help me.

EDIT With your help guys i came with the following solution but still its giving me some problem.

    SELECT q.question_id, q.question, q.date,p.fname,p.lname,p.phys_id,
p.pic_path  
            FROM questions q JOIN physiciansprofile p ON p.phys_id=q.phys_id   
         WHERE  q.question  LIKE 'heart%' OR question LIKE '% heart%' 
            AND q.question LIKE 'liver%' OR q.question LIKE '% liver%' 
    ORDER BY q.date DESC LIMIT 0,10;

But this query return heart failure and symptoms liver as well.Is there any solution for this. I need to get result containing both heart and liver and also must satisfy condition as stated before. Is there any to solve this

like image 598
ntstha Avatar asked Aug 31 '25 17:08

ntstha


1 Answers

'% heart%' doesn't work because you are asking for anything, plus space, plus heart, plus anything.

Try something like:

like 'heart%' OR like '% heart%'
like image 157
mcalex Avatar answered Sep 02 '25 06:09

mcalex