我需要选择包含整个单词而不是子字符串的行。例如,从这些行:
我只需要获取第一个(包含单词good),但通过我的sql查询我得到了它们。
select *
from my_tab
where my_column like '%good%'
请注意,我在 sqlite 中需要这个,其中并非所有常用的 sql 函数都可用。
您可以检查它,就像两个
%
符号之间的空格以及单词末尾的
和 %
以及您需要搜索的单词开头的 %
和
之间的空格一样。
查询
select * from your_table_name
where words like '% good %'
or words like 'good %'
or words like '% good';
尝试
select *
from table
where ' '||words||' ' like '% good %'
您还可以使用正则表达式(请参阅https://antonz.org/sqlean-regexp/)向您搜索的子字符串的开头和结尾添加额外的解析,尽管这会增加复杂性并且确实需要添加SQLite 引擎的模块。包含正则表达式函数的一个潜在存储库是https://github.com/nalgeon/sqlean