Heim >Datenbank >MySQL-Tutorial >Wie frage ich nach genauen Übereinstimmungen in durch Kommas getrennten MySQL-Strings?
Abfrage nach genauen Übereinstimmungen von durch Kommas getrennten Zeichenfolgen in MySQL
Das Abfragen bestimmter Werte stellt bei der Arbeit mit MySQL-Feldern, die durch Kommas getrennte Zeichenfolgen enthalten, häufig eine Herausforderung dar. Wenn Sie beispielsweise alle Datensätze mit einem bestimmten Wert in der Zeichenfolge abfragen, rufen Sie möglicherweise versehentlich Datensätze ab, die andere Werte für die Zielnummer enthalten.
Bedenken Sie die folgende Abfrage:
<code class="language-sql">select * from shirts where colors like '%1%'</code>
Diese Abfrage soll alle Hemden mit der Farbe Rot (Farbe=1) abrufen. Es werden jedoch auch Hemden mit den Farben Grau (=12) und Orange (=15) abgerufen, da diese Farben die Zahl 1 enthalten.
Um dieses Problem zu lösen, können Sie die Abfrage verbessern, um sicherzustellen, dass sie nur den genauen Farbwert auswählt, nach dem Sie suchen. Im Folgenden sind zwei häufig verwendete Methoden aufgeführt:
1. Kommas verbinden
Bei dieser Methode werden links und rechts vom Zielwert Kommas hinzugefügt. Dadurch wird sichergestellt, dass die Suchzeichenfolge nur mit den Werten übereinstimmt, die genau dem gewünschten Wert entsprechen.
<code class="language-sql">select * from shirts where CONCAT(',', colors, ',') like '%,1,%'</code>
2. Verwenden Sie find_in_set
find_in_set
-Funktionen können auch verwendet werden, um gewünschte Ergebnisse zu erzielen. Diese Funktion benötigt zwei Parameter:
Wenn find_in_set
einen Wert größer als 0 zurückgibt, bedeutet dies, dass der Zielwert in der Zeichenfolge vorhanden ist. Hier ist eine Beispielabfrage:
<code class="language-sql">select * from shirts where find_in_set('1', colors) > 0</code>
Durch die Verwendung einer dieser beiden Methoden können Sie sicherstellen, dass Ihre MySQL-Abfragen genau Datensätze für die genauen Farbwerte abrufen, an denen Sie interessiert sind, ohne unerwünschte Übereinstimmungen zu finden.
Das obige ist der detaillierte Inhalt vonWie frage ich nach genauen Übereinstimmungen in durch Kommas getrennten MySQL-Strings?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!