Überprüfung auf Zahlen in einem durch Kommas getrennten Blob in MySQL
Betrachten Sie die folgende Tabelle:
UID(int) | NUMBERS(blob) ---------------------- 1 | 1,13,15,20 2 | 3,10,15,20 3 | 3,15
An Überprüfen Sie, ob bestimmte Zahlen (z. B. 3 und 15) im NUMBERS-Blob vorhanden sind. Wir können IN verwenden Betreiber. Dieser Operator testet, ob ein Wert in einer durch Kommas getrennten Zeichenfolge vorhanden ist.
Lösung:
SELECT * FROM table WHERE 3 IN (NUMBERS) AND 15 IN (NUMBERS)
In dieser Abfrage wird der IN-Operator zweimal verwendet:
Die Abfrage gibt nur Zeilen zurück, wenn beide Bedingungen erfüllt sind. Daher wird nur Zeile 2 ausgewählt, da sie sowohl 3 als auch 15 in ihrem NUMBERS-Blob enthält.
Zusätzlicher Hinweis:
Eine andere Variante dieser Abfrage ist:
SELECT * FROM table WHERE NUMBERS LIKE '%3%' AND NUMBERS LIKE '%15%'
Die Verwendung von LIKE %% wird jedoch nicht empfohlen, da dies bei großen Datensätzen zu Leistungsproblemen führen kann. Der IN-Operator ist für diese Art der Prüfung effizienter.
Das obige ist der detaillierte Inhalt vonWie kann man in MySQL nach bestimmten Zahlen in einem durch Kommas getrennten Blob suchen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!