大家好。
假设我有一个数组,其中的字符串是我需要从DB中提取的行的值。让我们说阵列是:
searchStringArray = {'qwe', 'rty', 'asd',' fgh', 'zxc'}我可以用一种非常简单的方式在查询中构造我的WHERE语句:
"WHERE
t1.column1 IN (' " || Concat Items(searchStringsArray, " ', ' ")|| " ' )"解析后会给我以下字符串:
"WHERE
t1.column1 IN('qwe', 'rty', 'asd', 'fgh', 'zxc')"但是如果我的searchStringArray没有完整的字符串而是部分字符串呢?
我需要简化我的脚本。目前我有一个包含多个Contains语句的查询,在SQL中如下所示:
"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%')"
从字符串数组构造这非常麻烦。我想知道我是否可以编写一个看起来像这样的等效WHERE语句:
"WHERE
t1.column1 IN ('%qwe%', '%rty%', '%asd%', '%fgh%', '%zxc%')"或类似的东西:
"WHERE
t1.column1 MATCH('%qwe%' OR '%rty%' OR '%asd%' OR '%fgh%' OR '%zxc%')"或类似的东西,更容易构建使用 Concat项目() 。我尝试了上面的两个例子,虽然它们似乎是有效的SQLite语法,但它们在JSL中不起作用。有什么建议?
谢谢,
中号