首頁  >  問答  >  主體

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 天前456

全部回覆(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

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

    回覆
    0
  • 取消回覆