SQLite 选择包含整个单词的行

问题描述 投票:0回答:3

我需要选择包含整个单词而不是子字符串的行。例如,从这些行:

  • 系统运行良好
  • 我有一些好东西

我只需要获取第一个(包含单词good),但通过我的sql查询我得到了它们。

select *
from my_tab
where my_column like '%good%'

请注意,我在 sqlite 中需要这个,其中并非所有常用的 sql 函数都可用。

sql sqlite
3个回答
5
投票

您可以检查它,就像两个

%
符号之间的空格以及单词末尾的
%
以及您需要搜索的单词开头的
%
之间的空格一样。

查询

select * from your_table_name
where words like '% good %'
or words like 'good %'
or words like '% good';

0
投票

尝试

select * 
from table
where ' '||words||' ' like '% good %'

0
投票

您还可以使用正则表达式(请参阅https://antonz.org/sqlean-regexp/)向您搜索的子字符串的开头和结尾添加额外的解析,尽管这会增加复杂性并且确实需要添加SQLite 引擎的模块。包含正则表达式函数的一个潜在存储库是https://github.com/nalgeon/sqlean

© www.soinside.com 2019 - 2024. All rights reserved.