【发布时间】:2010-03-11 20:37:28
【问题描述】:
首先我会说我不认为我想要的东西可以做到,但我希望我错了,有人比我知道的更多。所以这是你的机会......证明你比我聪明:)
我想对 SQLite 表进行搜索,以查找任何“相似”的记录,而不必长时间写出查询。
为了澄清这是我知道我可以编写查询的方式:
select * from Articles where title like '%Bla%' or category like '%Bla%' or post like '%Bla%'
如果您只检查几列,这很有效,而且不是什么大问题,但是如果您需要检查一堆,那么您的查询可能会变得非常长而且看起来非常快,更不用说机会了错别字。 (即:'Bla%' 而不是 '%Bla%')
我想知道是否有一种简便的方法可以做到这一点?
*下一个代码不能按我想要的方式工作,但只是显示了我正在寻找的东西
select * from Articles where title or category or post like '%Bla%'
有人知道是否有办法指定多个“where”列应使用相同的搜索值,而不为每一列列出相同的搜索值?
提前致谢!
【问题讨论】:
-
以防万一您不知道,任何搜索
LIKE '%Bla%'每次都会进行表扫描(从上到下查看表中的每一行)。随着行数的增加,您会感到痛苦!