我想创建一个sqlite3表的搜索。通过文本字段或下拉菜单的组合,搜索应在输入3个字母后开始,并应返回表中找到的一些建议。这至少就是这个想法。
现在我一直在寻找数据库中字符串的一部分。
"SELECT * FROM album WHERE artist='Audiosl'"
这确实会返回空搜索以及
"SELECT * FROM album WHERE artist LIKE 'Audiosl'"
有办法吗?
答案 0 :(得分:3)
"SELECT * FROM album WHERE artist LIKE '%Audiosl%'"
会完成你的任务。
这会搜索T Audios1
,Audios123
,T Audios123
等字符串。
答案 1 :(得分:1)
仔细研究使用LIKE
SQLite运算符。这会将您的陈述变成以下内容:
SELECT * FROM album WHERE artist LIKE 'Aud%'"
%
匹配零次或多次。 SQLite文档中还有更多运算符。
答案 2 :(得分:0)
SQLite包含一个官方full text search扩展,它提供了适合您的架构所暗示的许多文本字段的功能。您可以进行字段样式搜索(artist:*a* album:"greatest hits") plus all the other stuff you would expect (NEAR, AND, OR, exclusions).
我强烈建议您使用此扩展程序,而不是构建自己的查询。