我的查询看起来类似于COL1 =?和COL2喜欢? 还是COL3喜欢?还是COL4喜欢? ..
我将选择参数的值传递为{“col1value”,“searchstring”, “搜索字符串”, “搜索字符串”}
我正在比较col2,3和4是否具有相同的字符串。 所以我可以优化使用绑定到类似的东西 COL1 =?和COL2一样?2 或COL3喜欢?2或COL4喜欢?2
这样我就不必在参数中重复字符串了 { “col1value”, “搜索字符串”}
这是否可行,如果是,它的正确语法是什么。
答案 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"};