Heim  >  Artikel  >  Datenbank  >  Was ist der Unterschied zwischen den MySQL-Funktionen INSTR() und FIND_IN_SET()?

Was ist der Unterschied zwischen den MySQL-Funktionen INSTR() und FIND_IN_SET()?

王林
王林nach vorne
2023-09-22 10:25:051038Durchsuche

MySQL INSTR() 和 FIND_IN_SET() 函数有什么区别?

Wie wir alle wissen, werden beide Funktionen verwendet, um auf der Grundlage der von ihnen bereitgestellten Argumente nach Zeichenfolgen zu suchen. Es gibt jedoch einige wesentliche Unterschiede zwischen ihnen, wie unten gezeigt.

  • Die Liste der von der Funktion FIND_IN_SET() verwendeten Zeichenfolgen ist selbst ein A-String, der durch Kommas getrennte Teilstrings enthält. Die Funktion INSTR() hingegen enthält einen String, aus dem sie das erste Vorkommen des Teilstrings findet, sofern dieser existiert.
  • Für Ganzzahlen ist FIND_IN_SET() besser geeignet als die Funktion INSTR(). Dies kann anhand des folgenden Beispiels verstanden werden

Beispiel

mysql> Select IF(INSTR('10,11,12,13',2) > 0,1,0) As Result;
+--------+
| Result |
+--------+
|      1 |
+--------+
1 row in set (0.05 sec)

mysql> Select IF(FIND_IN_SET(2,'10,11,12,13') > 0,1,0)As Result;
+--------+
| Result |
+--------+
|      0 |
+--------+
1 row in set (0.00 sec)

Aus der Ergebnismenge des obigen Beispiels können wir erkennen, dass die Funktion INSTR() 1 oder sogar 2 zurückgibt, weil die Zeichenfolge nicht im Parameter vorhanden ist. Aber die Funktion FIND_IN_SET() gibt 0 zurück, was die richtige Antwort ist.

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen den MySQL-Funktionen INSTR() und FIND_IN_SET()?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen