【发布时间】:2014-02-04 11:42:18
【问题描述】:
我在使用 sql LIKE 语句时遇到了一些问题:
假设我的表中有三条记录,名为articles。该表有一个名为 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,因为它前面有 'hey...',但我的意图是排除字符串 'yippi' 仅作为单词的一部分出现的记录,如 content3。但是,如果在字符串的开头找到 'yippi',就像在 'yippiyay' 中一样,我想返回这一行。
因此:我需要一个类似 sql 的语句,它只返回我找到确切搜索词或以搜索词开头的单词的记录,即“yippi”或“yippiyay”。
【问题讨论】:
-
内容 2 是
yippi,但%jippi%与之匹配? -
试试这个
LIKE '% yippi%',在第一个'%'之后放一个空格 -
是的@DominicZukiewicz,没错。
-
@user1009453:您使用的是什么数据库平台?