匹配包含给定单词的句子

时间:2013-08-14 17:46:50

标签: sqlite

我的表格中有一个句子栏。我希望选择包含给定单词的所有句子。

单词仅包含以下字母:a-z,áéíóú

唯一的另一个字符是单个空格,将句子中的每个单词分开。句子的开头或结尾没有空格。所以句子看起来像这样:

"i am here"
"no im here"

选择包含单词“i”的句子应该只与上面的第一句相匹配。

如何从表中选择这些行?

1 个答案:

答案 0 :(得分:2)

根据您提供的信息,您需要涵盖三种排列。

  • 您要搜索的单词是句子中的第一个单词。在这种情况下,在单词之前将没有空格,但在单词之后将有一个空格。
  • 您要搜索的单词不是第一个单词,也不是句子中的最后一个单词。在这种情况下,单词的任何一侧都会有一个空格。
  • 您要搜索的单词是句子中的最后一个单词。在这种情况下,在单词之前会有一个空格,但在单词之后没有空格。

所以你的查询看起来像这样......

SELECT * FROM YourTableName 
    WHERE SentenceCol LIKE 'YOUR-SEARCH-WORD %' 
    OR SentenceCol LIKE '% YOUR-SEARCH-WORD %' 
    OR SentenceCol LIKE '% YOUR-SEARCH-WORD'