android:sqlite使用LIKE的参数绑定

时间:2017-07-24 15:28:38

标签: android sqlite binding

我的查询看起来类似于COL1 =?和COL2喜欢? 还是COL3喜欢?还是COL4喜欢? ..

我将选择参数的值传递为{“col1value”,“searchstring”, “搜索字符串”, “搜索字符串”}

我正在比较col2,3和4是否具有相同的字符串。 所以我可以优化使用绑定到类似的东西 COL1 =?和COL2一样?2 或COL3喜欢?2或COL4喜欢?2

这样我就不必在参数中重复字符串了 { “col1value”, “搜索字符串”}

这是否可行,如果是,它的正确语法是什么。

2 个答案:

答案 0 :(得分:1)

many ways of specifying parameters。要(重新)使用特定参数编号,请将数字附加到?

COL1 = ?1 AND (COL2 LIKE ?2 OR COL3 LIKE ?2 OR COL4 LIKE ?2)

(AND的优先级高于OR。)

答案 1 :(得分:0)

试试这个 SELECT * FROM table_name WHERE searchstring IN(COL2,COL3,COL4);

在android中选择:

String select = "? IN (COL2, COL3, COL4)"

选择args:

String[] args = new String[] {"searchstring"};