gpt4 book ai didi

android - 使用精确关键字搜索 Sqlite 数据库

转载 作者:行者123 更新时间:2023-11-30 02:23:34 31 4
gpt4 key购买 nike

我正在尝试搜索 Sqlite 数据库,条件是:我想使用精确关键字查找字符串。让我向你解释一下。我有 3 行如下:

  • 感冒了
  • 我有一只猫
  • 昨天在你家看到两只猫

我想用关键字“cat”搜索这些行,我希望得到这样的结果:

  • 我有一只猫

到目前为止,我正在使用此 SQL 代码:

Select * FROM MyTable WHERE Mycolumn Like '%cat%'

但返回结果是所有这 3 行:

  • 感冒
  • 我有一只猫
  • 昨天在你家看到两只猫

我该怎么做才能获得预期的结果?

提前致谢。

最佳答案

LIKE 子句参数中的 % 字符匹配任何字符串,包括空字符串。不幸的是,SQLite 没有内置 REGEXP 函数(Android 的 SQLite 也没有)。

您可以改为使用 FTS(全文搜索)。此处描述了如何执行此操作:https://www.sqlite.org/fts3.html#section_1_2

使用您的示例,您可以像这样设置它:

create virtual table textsearch using fts4(content);
insert into textsearch (content) values ('catching cold'), ('i have a cat'), ('two cats was seen in your house yesterday')

然后您可以使用MATCH 运算符进行简单的文本查询:

select * from textsearch where content match 'cat';

如果您在 sqlite3 shell 中尝试上述操作,您会看到它只返回“我有一只猫”。您可以使用匹配运算符做更多的事情,在我上面链接的页面上有解释。

关于android - 使用精确关键字搜索 Sqlite 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28132455/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com