Bonjour tout le monde.
Disons que j'ai un tableau avec des chaînes qui sont les valeurs des lignes que je dois extraire de la base de données. Disons que le tableau est :
searchStringArray = {'qwe', 'rty', 'asd',' fgh', 'zxc'}Je peux construire mon instruction WHERE dans ma requête d'une manière assez simple :
"WHERE
t1.column1 IN (' " || Concat Items(searchStringsArray, " ', ' ")|| " ' )"qui, une fois analysé, me donnerait la chaîne suivante :
"WHERE
t1.column1 IN('qwe', 'rty', 'asd', 'fgh', 'zxc')"Mais que se passe-t-il si mon searchStringArray ne contient pas de chaînes complètes mais des chaînes partielles ?
Je dois simplifier mon script. Actuellement, j'ai une requête qui contient plusieurs instructions Contains, qui en SQL ressemblent à ceci :
"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%')"
C'est assez fastidieux à construire à partir d'un tableau de chaînes. Je me demandais si je pouvais écrire une instruction WHERE équivalente qui ressemble à ceci :
"WHERE
t1.column1 IN ('%qwe%', '%rty%', '%asd%', '%fgh%', '%zxc%')"ou quelque chose comme ça:
"WHERE
t1.column1 MATCH('%qwe%' OR '%rty%' OR '%asd%' OR '%fgh%' OR '%zxc%')"ou quelque chose de similaire qui serait plus facile à construire en utilisant Concaténer des éléments() . J'ai essayé deux exemples ci-dessus, bien qu'ils semblent être une syntaxe SQLite valide, ils ne fonctionnent pas en JSL. Aucune suggestion?
Merci,
M