Heim  >  Fragen und Antworten  >  Hauptteil

MySQL verwendet ein anderes Feld für Fuzzy-Abfragen

<p>Ich habe eine Tabelle mit zwei Zeichenfolgenspalten: URL und ModelId. Ich muss die Datensätze zurückgeben, deren URL ModelId enthält, ähnlich wie bei dieser Abfrage: </p> <pre class="brush:php;toolbar:false;">SELECT Id, URL, ModelId WHERE URL wie „%ModelId%“</pre> <p><br /></p>
P粉333186285P粉333186285425 Tage vor458

Antworte allen(2)Ich werde antworten

  • P粉418351692

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

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

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

    Antwort
    0
  • P粉199248808

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

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

    Antwort
    0
  • StornierenAntwort