在某些情况下,我在使用类似mysql的关键字时遇到问题。我的要求是这样的。
首先,当我搜索'ABC'时,结果应该找到ABCABCdef,而不是xyzABCdefxyzABC。开始使用ABC%似乎很简单。但在条件中,当我搜索'heart%'时,它不会返回有'liver heart'的行,因为它只返回字符串开头有heart的行。然后我尝试使用% heart%。这返回的行有'liver heart'而不是字符串开头有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 failuresymptoms liver,有没有解决方法。我需要得到包含heartliver的结果,并且还必须满足前面所述的条件。有什么可以解决的吗

最佳答案

“%heart%”不起作用,因为您需要任何东西,外加空间,外加心脏,外加任何东西。
尝试以下方法:

like 'heart%' OR like '% heart%'

10-05 19:59