Heim >Datenbank >MySQL-Tutorial >So übergeben Sie Variablen an IN-Klauseln in SQL: Eine Problemumgehung mit FIND_IN_SET
Variablen an IN-Klauseln übergeben
Es kann wünschenswert sein, eine Variable, die eine Liste von Werten enthält, an eine IN-Klausel in einer SQL-Anweisung zu übergeben . Allerdings wird diese Funktionalität in einigen Programmiersprachen nicht grundsätzlich unterstützt. In diesem Artikel wird eine Problemumgehung mithilfe der Funktion FIND_IN_SET untersucht.
Beispielszenario
Betrachten Sie die folgende gespeicherte Prozedur mit einer SELECT-Anweisung:
<code class="sql">SELECT product_id, product_price FROM product WHERE product_type IN ('AA','BB','CC');</code>
Die Ziel ist es, eine einzelne Variable, input_variables, die die Wertefolge ('AA,BB,CC') enthält, an die WHERE-Klausel zu übergeben.
Mit FIND_IN_SET
Zu Um dies zu erreichen, übergeben Sie den Parameterwert als durch Kommas getrennte Zeichenfolge: „AA,BB,CC“. Verwenden Sie dann die Funktion FIND_IN_SET:
<code class="sql">SELECT product_id, product_price FROM product WHERE FIND_IN_SET(product_type, param);</code>
Die Funktion FIND_IN_SET gibt 1 zurück, wenn die angegebene Zeichenfolge in der Menge gefunden wird, und 0, wenn dies nicht der Fall ist. Daher gibt die WHERE-Klausel nur Zeilen zurück, in denen die Spalte „product_type“ mit einem der Werte in der Variablen „param“ übereinstimmt.
Das obige ist der detaillierte Inhalt vonSo übergeben Sie Variablen an IN-Klauseln in SQL: Eine Problemumgehung mit FIND_IN_SET. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!