我在某些情况下使用 mysql like 关键字时遇到问题。我的要求是这样的。首先,当我搜索时'ABC'
,结果应该是ABC
andABCdef
但不是 xyzABCdef
or xyzABC
。起初使用起来似乎很简单ABC%
。但是在我搜索的情况下'heart%'
,它不会返回具有的行,'liver heart'
因为它只返回字符串开头的行。heart
然后我尝试使用% heart%
。返回的行具有'liver heart'
但不是那些在字符串开头有心脏的行。我有点卡在这里..所以大家帮帮我。
编辑 在你们的帮助下,我提出了以下解决方案,但仍然给我带来了一些问题。
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;
但是这个查询也返回heart failure
了symptoms liver
。是否有任何解决方案。我需要得到包含两者的结果heart
,liver
并且还必须满足前面所述的条件。有没有办法解决这个