我有一个表,联系人,有十几列左右。我想识别每行至少有一列包含正则表达式。我不知道是否有可能做这样的事情:我可以使用通配符在SQLite中搜索多个表列吗?
select * from contacts where * like '%re%';
,而不是这样的:
select * from contacts where last_name like '%re%' or first_name like '%re%' or ... ;
这可能吗?
我有一个表,联系人,有十几列左右。我想识别每行至少有一列包含正则表达式。我不知道是否有可能做这样的事情:我可以使用通配符在SQLite中搜索多个表列吗?
select * from contacts where * like '%re%';
,而不是这样的:
select * from contacts where last_name like '%re%' or first_name like '%re%' or ... ;
这可能吗?
我不认为这是可能的。也许你可以在表上放置一个触发器来更新一个非正规化列?
select * from contacts where concat(last_name, ' ', first_name) like '%re%'
有趣。这不是我正在寻找的东西(我有10列以上的各个领域),但这是很好的知道。 – Tony 2009-04-23 12:25:56
您可以像这样在两列中搜索。
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);
谢谢。我想你是正确的。我能够很容易地用Python构建查询。 – Tony 2009-04-22 15:38:46