我在sql类语句上遇到了一些问题:
假设我的桌子上有三张名为“物品”的记录。表中有一个名为content的列:
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,因为它前面有‘嘿嘿.’,但是我的意图是排除字符串'yippi‘只作为单词的一部分的记录,就像在content3中一样。然而,如果在字符串的开头找到“yippi”,就像在“yippiyay”中一样,我想返回这一行。
因此:我需要一个sql类语句,该语句只返回我找到确切搜索项的记录,或者返回以搜索项开头的单词,即“yippi”或“yippiyay”。
发布于 2014-02-04 11:59:10
也许你应该试试这样的方法:
SELECT * FROM articles
WHERE content LIKE 'jippi%' or content like '% jippi%';但是,只有在单词之间只有一个空格的情况下,这才能起作用。解决办法有:
SELECT * FROM articles WHERE content LIKE '%ippi';是好的,但不会抓住像吉皮这样的词,这是从吉皮开始的。
发布于 2014-02-04 11:46:11
试着
SELECT * FROM articles WHERE content LIKE '%ippi';我还是不明白它的目的,但它确实有效.
https://stackoverflow.com/questions/21551532
复制相似问题