Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie überprüfe ich, ob bestimmte Zahlen in einer durch Kommas getrennten Liste in MySQL vorhanden sind?

Barbara Streisand
Freigeben: 2024-11-25 05:36:36
Original
644 Leute haben es durchsucht

How to Check if Specific Numbers Exist in a Comma-Separated List in MySQL?

Abrufen von Daten, wenn Werte in einer durch Kommas getrennten Liste vorhanden sind (MySQL)

Problem:

Sie haben eine MySQL-Tabelle, in der eine der Spalten, NUMBERS genannt, durch Kommas getrennte Listen enthält Zahlen. Sie möchten feststellen, ob in der Spalte NUMBERS für bestimmte Zeilen bestimmte Zahlen vorhanden sind. Beispielsweise müssen Sie überprüfen, ob die Zahlen 3 und 15 in der Spalte ZAHLEN für eine Zeile mit der UID 2 vorhanden sind.

Lösung:

Das können Sie Verwenden Sie den IN-Operator, um diese Prüfung durchzuführen. Mit dem IN-Operator können Sie eine Liste von Werten angeben und prüfen, ob ein bestimmter Wert mit einem der Werte in der Liste übereinstimmt. In diesem Fall können Sie mit dem IN-Operator prüfen, ob die Zahlen 3 und 15 in der Spalte ZAHLEN für eine bestimmte Zeile vorhanden sind.

Eine Möglichkeit hierfür ist die Verwendung der folgenden Abfrage:

SELECT * FROM table WHERE 3 IN (NUMBERS) AND 15 IN (NUMBERS);
Nach dem Login kopieren

Diese Abfrage gibt alle Zeilen aus der Tabelle zurück, in denen die Zahlen 3 und 15 beide in der Spalte NUMBERS vorhanden sind. In Ihrem Beispiel würde diese Abfrage die Zeile mit der UID 2 zurückgeben, da sie sowohl 3 als auch 15 in der Spalte NUMBERS enthält.

Eine andere Alternative ist die Verwendung der Funktion FIND_IN_SET(). Die Funktion FIND_IN_SET() benötigt zwei Argumente: einen Wert und eine durch Kommas getrennte Liste. Es gibt die Position des Werts in der Liste zurück, wenn er vorhanden ist, oder 0, wenn der Wert nicht vorhanden ist. Sie können diese Funktion verwenden, um zu überprüfen, ob eine bestimmte Zahl in der Spalte NUMBERS vorhanden ist, indem Sie die folgende Abfrage verwenden:

SELECT * FROM table WHERE FIND_IN_SET(3, NUMBERS) > 0 AND FIND_IN_SET(15, NUMBERS) > 0;
Nach dem Login kopieren

Diese Abfrage gibt das gleiche Ergebnis wie die vorherige Abfrage zurück, verwendet jedoch FIND_IN_SET( )-Funktion, um zu bestimmen, ob die Zahlen 3 und 15 in der Spalte ZAHLEN vorhanden sind.

Beide Methoden können verwendet werden, um zu überprüfen, ob bestimmte Zahlen in a vorhanden sind durch Kommas getrennte Liste in einer MySQL-Tabelle. Sie können die von Ihnen bevorzugte Methode verwenden.

Das obige ist der detaillierte Inhalt vonWie überprüfe ich, ob bestimmte Zahlen in einer durch Kommas getrennten Liste in MySQL vorhanden sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage