首页  >  问答  >  正文

MySQL 使用另一个字段进行模糊查询

<p>我有一张表,有两个字符串列:Url 和 ModelId。我需要返回那些 Url 包含 ModelId 的记录,类似于这样的查询:</p> <pre class="brush:php;toolbar:false;">SELECT Id, Url, ModelId WHERE Url like "%ModelId%"</pre> <p><br /></p>
P粉333186285P粉333186285425 天前455

全部回复(2)我来回复

  • P粉418351692

    P粉4183516922023-07-26 10:42:23

    你不能只简单地拼接字符串,还必须对字段进行转义,使用 % 和 _ 的特殊字符:

    SELECT Id, Url, ModelId 
    WHERE Url LIKE CONCAT('%', REPLACE(REPLACE(ModelId,'%','\%'),'_','\_'), '%'), '%')

    回复
    0
  • P粉199248808

    P粉1992488082023-07-26 00:00:45

    雷雷

    回复
    0
  • 取消回复