Maison  >  Questions et réponses  >  le corps du texte

MySQL utilise un autre champ pour les requêtes floues

<p>J'ai un tableau avec deux colonnes de chaîne : Url et ModelId. Je dois renvoyer les enregistrements dont l'URL contient ModelId, similaire à cette requête : </p> <pre class="brush:php;toolbar:false;">SELECT Id, Url, ModelId WHERE Url comme "%ModelId%"</pre> <p><br /></p>
P粉333186285P粉333186285475 Il y a quelques jours481

répondre à tous(2)je répondrai

  • P粉418351692

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

    Vous ne pouvez pas simplement concaténer des chaînes, vous devez également échapper aux champs, en utilisant les caractères spéciaux % et _ :

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

    répondre
    0
  • P粉199248808

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

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

    répondre
    0
  • Annulerrépondre