【问题标题】:How do i search for a part of a string in sqlite3?如何在 sqlite3 中搜索字符串的一部分?
【发布时间】:2012-01-23 04:30:18
【问题描述】:

我想为我的一个 sqlite3 表创建搜索。结合文本字段或下拉菜单,搜索应在输入 3 个字母后开始,并应返回在表格中找到的一些建议。至少是这样的想法。

现在我一直在搜索数据库中的字符串的一部分。

"SELECT * FROM album WHERE artist='Audiosl'"

这确实会返回一个空搜索以及

"SELECT * FROM album WHERE artist LIKE 'Audiosl'"

有没有办法做到这一点?

【问题讨论】:

标签: python sqlite


【解决方案1】:

"SELECT * FROM album WHERE artist LIKE '%Audiosl%'" 会完成你的任务。

这会搜索T Audios1Audios123T Audios123 等字符串。

更多信息请参考:http://www.sqlite.org/lang_expr.html

【讨论】:

    【解决方案2】:

    仔细研究使用LIKE SQLite 运算符。这会将您的陈述变成以下内容:

    SELECT * FROM album WHERE artist LIKE 'Aud%'"
    

    % 匹配零次或多次。 SQLite 文档中还有更多运算符。

    【讨论】:

      【解决方案3】:

      SQLite 包含一个官方的full text search 扩展,它提供适用于您的架构所暗示的大量文本字段的功能。您可以进行字段样式搜索 (artist:*a* album:"greatest hits") plus all the other stuff you would expect (NEAR, AND, OR, exclusions).

      我强烈建议您使用此扩展程序而不是构建自己的查询。

      【讨论】:

        猜你喜欢
        • 2011-12-02
        • 2011-08-10
        • 1970-01-01
        • 2022-11-10
        • 2012-07-16
        • 1970-01-01
        • 2012-03-03
        • 2020-10-15
        • 1970-01-01
        相关资源
        最近更新 更多