MYSQL喜欢匹配字符串的一部分


MYSQL LIKE to match part of a string

我有一个查询,但似乎只是不能得到这个工作。

这是我特别寻找mysql表字符串

link = index.php?option=com_content&view=article&layout=custom:article&id=13

我需要做一个MYSQL查询,匹配视图=文章,所以我可以排除行有那个。

SELECT * FROM menus WHERE published=1 AND link LIKE ''view='article'%'

提前谢谢你

更多更新代码:

<field 
class="menuselections" 
name="bannerpage" 
type="sql" 
default="" 
label="Show On Menus" 
query="SELECT * FROM #__menu WHERE published=1 AND link LIKE '%'view='article'%' AND title NOT IN('Menu_item_Root','com_joomlaupdate')" 
key_field="id" 
value_field="title" 
multiple="true" />

我没有足够的声望积分来评论Jessica的回答,她的回答基本正确。我建议的唯一更改是从like子句中删除反斜杠(并保留前面的通配符"%"字符):

SELECT * FROM menus WHERE published=1 AND link LIKE '%view=article%';

反斜杠用于转义字符串中的字符,这不是您在这种情况下要做的。

在这个示例中,字符串的两端都需要通配符。

SELECT * FROM menus WHERE published=1 AND link LIKE '%view=article%'

但是,既然您说要排除它们,请使用NOT LIKE代替。