我可以使用通配符在SQLite中搜索多个表列吗?

时间:2009-04-22 13:18:34

标签: sql sqlite

我有一张桌子,联系人,有十几列左右。我想识别至少一列包含正则表达式的每一行。我想知道是否可以这样做:

select * from contacts where * like '%re%';

而不是:

select * from contacts where last_name like '%re%' or first_name like '%re%' or ... ;

这可能吗?

3 个答案:

答案 0 :(得分:3)

select * from contacts where concat(last_name, ' ', first_name) like '%re%'

答案 1 :(得分:1)

我认为这不可行。也许您可以在表上设置触发器以更新单个非规范化列?

答案 2 :(得分:0)

您可以像这样使用两列搜索。

String query = "select * from SomeTable
            where (column1 like ? and column2 like ?) and column3 like ?";
String[] params = {"%" + param1 + "%", "%" + param2 + "%", "%" + param3 + "%"};
Cursor c = db.rawQuery(query, params);