Hallo zusammen.
Nehmen wir an, ich habe ein Array mit Zeichenfolgen, die Werte von Zeilen sind, die ich aus der Datenbank abrufen muss. Nehmen wir an, das Array ist:
searchStringArray = {'qwe', 'rty', 'asd',' fgh', 'zxc'}Ich kann meine WHERE-Anweisung in meiner Abfrage auf ziemlich einfache Weise erstellen:
"WHERE
t1.column1 IN (' " || Concat Items(searchStringsArray, " ', ' ")|| " ' )"was beim Parsen die folgende Zeichenfolge ergeben würde:
"WHERE
t1.column1 IN('qwe', 'rty', 'asd', 'fgh', 'zxc')"Aber was ist, wenn mein searchStringArray keine vollständigen Zeichenfolgen, sondern Teilzeichenfolgen enthält?
Ich muss mein Skript vereinfachen. Derzeit habe ich eine Abfrage mit mehreren „Contains“-Anweisungen, die in SQL so aussieht:
"WHERE<BR />(t1.column1 LIKE '%qwe%') OR
(t1.column1 LIKE '%rty%') OR
(t1.column1 LIKE '%asd%') OR
(t1.column1 LIKE '%fgh%') OR
(t1.column1 LIKE '%zxc%')"
Die Erstellung aus einem String-Array ist ziemlich umständlich. Ich habe mich gefragt, ob ich eine entsprechende WHERE-Anweisung schreiben kann, die etwa so aussieht:
"WHERE
t1.column1 IN ('%qwe%', '%rty%', '%asd%', '%fgh%', '%zxc%')"oder so ähnlich:
"WHERE
t1.column1 MATCH('%qwe%' OR '%rty%' OR '%asd%' OR '%fgh%' OR '%zxc%')"oder etwas Ähnliches, das einfacher zu konstruieren wäre Concat Items() . Ich habe oben zwei Beispiele ausprobiert. Obwohl sie eine gültige SQLite-Syntax zu sein scheinen, funktionieren sie in JSL nicht. Irgendwelche Vorschläge?
Danke,
M