SQL喜欢陈述不包括太多



我在sql上遇到了一些麻烦:

假设我的桌子中有三个记录,名为文章。该表的列命名内容:

content
-------
lorem ipsum hey jippi lorem ipsum ipusm lorum
yippi
lorem ipsum heyyippikayay lorem ipsum

以下语句返回所有行:

SELECT * FROM articles
WHERE content LIKE '%jippi%';

但是如何匹配content1和content2。

如果我去:

SELECT * FROM articles
WHERE content LIKE 'jippi%';

我只会得到content2。此查询不包括content1,因为它之前是"嘿...",但我的目的是排除在pentent3中仅作为单词的一部分找到字符串'yippi'的记录。但是,如果在" yippiyay"中的字符串开头找到" yippi",我想返回此行。

因此:我需要一个类似SQL的语句,该语句仅返回记录我找到确切的搜索术语或从搜索术开始的单词,即'yippi'或'yippiyay'的单词。

尝试

SELECT * FROM articles WHERE content LIKE '%ippi';

我仍然不了解它的目的,但确实有效...

也许您应该尝试这样的事情:

SELECT * FROM articles
WHERE content LIKE 'jippi%' or content like '% jippi%';

但是,只有在单词之间有一个空间时,这才能起作用。解决方案:

SELECT * FROM articles WHERE content LIKE '%ippi';

很好,但不会抓住像jippido或类似的单词,从jippi开始。

最新更新