MySQL-选择字段中多次出现LIKE的行

MySQL-选择字段中多次出现LIKE的行,mysql,sql,Mysql,Sql,假设我有这张桌子: id发布内容 Lorem ipsum Mike dolor sit amet是一位杰出的职业经理人,他是一位临时雇员 Lorem ipsum Mike dolor sit amet,与Mike elit的告别仪式,由临时劳工担任 Lorem ipsum Mike dolor sit amet,与Mike elit的告别,与Mike的劳动时间有关 如何构造一个SELECT。。。。。post_内容,如%Mike%查询,将只返回多次出现Mike的行?在这种情况下,记录2和3 谢谢。

假设我有这张桌子:

id发布内容

  • Lorem ipsum Mike dolor sit amet是一位杰出的职业经理人,他是一位临时雇员
  • Lorem ipsum Mike dolor sit amet,与Mike elit的告别仪式,由临时劳工担任
  • Lorem ipsum Mike dolor sit amet,与Mike elit的告别,与Mike的劳动时间有关
  • 如何构造一个SELECT。。。。。post_内容,如%Mike%查询,将只返回多次出现Mike的行?在这种情况下,记录2和3

    谢谢。

    如果您尝试:

    SELECT * FROM ... WHERE post_content LIKE '%Mike%Mike%'
    

    这很棘手,我现在没有MySQL来尝试。根据过去的经验,我知道Oracle和MS SQL使用相同的方法的工作方式不同,所以您必须尝试一下。

    您可以简单地做到这一点

    SELECT * FROM `table_name` WHERE post_content LIKE '%mike%mike%'
    
    我在MySQL中测试了它,它完全按照您的要求工作


    < /P> Oracle和MySQL(以及任何其他数据库)都应该采取相同的方式。这个方法和替换都有1个缺陷,如果迈克在一个词的中间。对迈克来说可能没什么大不了的,但是字符串中的

    '%ann%ann%'
    'ann戴着一条大手帕'
    这样你就可以换成空白,比如
    '%ann%ann%'
    ,但是
    'ann,迈克,我知道playing和Ann赢了
    ,但这是一种快速而肮脏的方式,不会在空白处分割字符串,也不会删除逗号等标点符号。@Matt你说得对。这是LIKE查询的常见问题。您尝试过什么?在最后一句话中,你似乎已经得到了你所需要的大部分。