【发布时间】:2010-10-21 02:26:20
【问题描述】:
我有一个表,联系人,有十几列左右。我想识别至少一列包含正则表达式的每一行。我想知道是否可以这样做:
select * from contacts where * like '%re%';
而不是这个:
select * from contacts where last_name like '%re%' or first_name like '%re%' or ... ;
这可能吗?
【问题讨论】:
我有一个表,联系人,有十几列左右。我想识别至少一列包含正则表达式的每一行。我想知道是否可以这样做:
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%'
【讨论】:
我认为这是不可能的。也许您可以在表上放置一个触发器来更新单个非规范化列?
【讨论】:
您可以像这样在两列中搜索。
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);
【讨论】: