Hallo zusammen.
Angenommen, ich habe ein Array mit Zeichenfolgen, die Werte von Zeilen sind, die ich aus DB ziehen muss. Angenommen, das Array lautet:
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 mir beim Parsen die folgende Zeichenfolge geben 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 folgendermaßen 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%')"
Das Konstruieren aus einem String-Array ist ziemlich umständlich. Ich habe mich gefragt, ob ich eine äquivalente WHERE-Anweisung schreiben kann, die ungefähr so aussieht:
"WHERE
t1.column1 IN ('%qwe%', '%rty%', '%asd%', '%fgh%', '%zxc%')"oder sowas:
"WHERE
t1.column1 MATCH('%qwe%' OR '%rty%' OR '%asd%' OR '%fgh%' OR '%zxc%')"oder etwas ähnliches, das mit 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?
Vielen Dank,
M