我有一张桌子,联系人,有十几列左右。我想识别至少一列包含正则表达式的每一行。我想知道是否可以这样做:
select * from contacts where * like '%re%';
而不是:
select * from contacts where last_name like '%re%' or first_name like '%re%' or ... ;
这可能吗?
答案 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);