Heim  >  Artikel  >  Datenbank  >  So verwenden Sie die FIND_IN_SET-Funktion von MySQL, um herauszufinden, ob ein bestimmter Wert in einer Liste von Zeichenfolgen vorhanden ist

So verwenden Sie die FIND_IN_SET-Funktion von MySQL, um herauszufinden, ob ein bestimmter Wert in einer Liste von Zeichenfolgen vorhanden ist

WBOY
WBOYOriginal
2023-07-24 20:17:07968Durchsuche

So verwenden Sie die FIND_IN_SET-Funktion von MySQL, um herauszufinden, ob ein bestimmter Wert in einer Zeichenfolgenliste vorhanden ist.

Einführung:
MySQL ist ein häufig verwendetes relationales Datenbankverwaltungssystem, das viele leistungsstarke Funktionen und Operatoren zum Bearbeiten von Daten bereitstellt. Unter diesen ist die Funktion FIND_IN_SET eine häufig verwendete Zeichenfolgensuchfunktion, mit der ermittelt werden kann, ob ein Wert in einer durch Kommas getrennten Zeichenfolgenliste vorhanden ist. In diesem Artikel wird die Verwendung der Funktion FIND_IN_SET ausführlich vorgestellt und relevante Codebeispiele bereitgestellt.

FIND_IN_SET-Funktionssyntax:
FIND_IN_SET(str, strlist)

  • str: die zu suchende Zeichenfolge oder der zu suchende Ausdruck;
  • strlist: eine durch Kommas getrennte Liste von Zeichenfolgen.

Die Funktion FIND_IN_SET gibt einen ganzzahligen Wert zurück, der die Position darstellt, an der sich der Wert in der Zeichenfolgenliste befindet. Wenn der Wert nicht gefunden wird, wird 0 zurückgegeben.

Codebeispiel:
Angenommen, wir haben eine Tabelle mit dem Namen students, die Informationen über die von jedem Studenten ausgewählten Kurse enthält. Die Tabellenstruktur ist wie folgt: students 的表,其中包含了每个学生所选课程的信息。表结构如下:

CREATE TABLE students (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50),
    courses VARCHAR(100)
);

现在,我们想要在 courses 字段中查找是否包含某个具体的课程,可以使用 FIND_IN_SET 函数来实现。

首先,插入一些测试数据:

INSERT INTO students (name, courses)
VALUES ('小明', '语文,数学,英语'),
       ('小红', '数学,化学,物理'),
       ('小刚', '英语,历史,地理');

接下来,我们可以使用以下代码来查询某个学生是否选修了某个具体的课程:

SET @course = '数学';
SELECT id, name
FROM students
WHERE FIND_IN_SET(@course, courses) > 0;

在以上代码中,将要查找的课程名称赋给了变量 @course。然后,在 SELECT 语句中,使用 FIND_IN_SET 函数来判断变量 @course 是否存在于 courses

+----+--------+
| id | name   |
+----+--------+
| 1  | 小明   |
| 2  | 小红   |
+----+--------+

Jetzt möchten wir herausfinden, ob ein bestimmter Kurs im Feld courses enthalten ist. Dazu können wir die Funktion FIND_IN_SET verwenden.

Fügen Sie zunächst einige Testdaten ein:

rrreee

Als nächstes können wir mit folgendem Code abfragen, ob ein Student einen bestimmten Kurs belegt hat:

rrreee
Im obigen Code wird der Name des zu findenden Kurses zugeordnet Variable @course. Verwenden Sie dann in der SELECT-Anweisung die Funktion FIND_IN_SET, um zu bestimmen, ob die Variable @course im Feld courses vorhanden ist. Wenn der zurückgegebene Wert größer als 0 ist, bedeutet dies, dass der Kurs gefunden wurde und die ID und der Name des Studenten zurückgegeben werden.

Nachdem wir den obigen Code ausgeführt haben, erhalten wir die folgenden Ergebnisse:

rrreee🎜Wie aus den Ergebnissen ersichtlich ist, gehören zu den Schülern, die den Mathematikkurs belegt haben, Xiao Ming und Xiao Hong. 🎜🎜Zusammenfassung: 🎜Dieser Artikel beschreibt, wie Sie mit der FIND_IN_SET-Funktion von MySQL herausfinden, ob ein bestimmter Wert in einer String-Liste vorhanden ist. Mit dieser Funktion können wir leicht feststellen, ob ein Kurs von einem Studenten belegt wird. Durch die Beherrschung der Verwendung der Funktion FIND_IN_SET können Sie Stringlistendaten in der MySQL-Datenbank flexibler und effizienter verwalten. 🎜🎜Bitte beachten Sie, dass Sie bei Verwendung der Funktion FIND_IN_SET sicherstellen müssen, dass die übergebenen Parametertypen korrekt sind, um unerwartete Ergebnisse zu vermeiden. 🎜

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die FIND_IN_SET-Funktion von MySQL, um herauszufinden, ob ein bestimmter Wert in einer Liste von Zeichenfolgen vorhanden ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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