【问题标题】:Can I search multiple table columns in SQLite using a wildcard?我可以使用通配符在 SQLite 中搜索多个表列吗?
【发布时间】: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 ... ;

这可能吗?

【问题讨论】:

    标签: sql sqlite


    【解决方案1】:
    select * from contacts where concat(last_name, ' ', first_name) like '%re%'
    

    【讨论】:

    • 有趣。这不是我想要的(我有 10 多个不同领域的列),但很高兴知道这一点。
    【解决方案2】:

    我认为这是不可能的。也许您可以在表上放置一个触发器来更新单个非规范化列?

    【讨论】:

    • 谢谢。我想你是正确的。我能够很容易地用 Python 构建查询。
    【解决方案3】:

    您可以像这样在两列中搜索。

    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);
    

    【讨论】:

      猜你喜欢
      • 2021-11-30
      • 1970-01-01
      • 2014-05-08
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      • 2016-08-06
      • 1970-01-01
      相关资源
      最近更新 更多