限制基于部分字符串值的MYSQL查询的结果

时间:2016-10-03 08:11:05

标签: mysql sql

我在使用|costume|party标识的字段中包含内容。

是否可以将结果限制为仅包含一个或另一个标识符的数据集?

我试过

SELECT * FROM ezpages_content WHERE LIKE "|party" NOT IN pages_title

但这只是一个语法错误。这样做的结果就是返回|costume的所有数据。

我甚至不确定你是否可以查看某个字段中的部分条目。

4 个答案:

答案 0 :(得分:2)

不确定您的要求,但您可能会寻找loginForm.addSubmitHandler(new SubmitHandler() { @Override public void onSubmit(SubmitEvent event) { event.cancel(); // Ajax request here... } }); 子句

NOT LIKE

答案 1 :(得分:1)

  

我甚至不确定你是否可以查看某个字段中的部分条目。

您可以将%通配符运算符与LIKENOT LIKE结合使用。

以下是您正确语法的两个示例。您使用哪一个取决于您的预期结果:

语法#1:SELECT * FROM ezpages_content WHERE pages_title LIKE "%|costume%"

语法#2:SELECT * FROM ezpages_content WHERE pages_title NOT LIKE "%|party%"

第一个查询将返回页面标题中|costume所在的任何结果,无论是否存在|party或其他标识符。第二个查询将返回页面标题不包含|party的任何结果。

答案 2 :(得分:1)

您正在寻找的是MySQL中的NOT LIKE运算符。它用于排除与LIKE运算符后面的条件匹配的那些行。

因此,您的查询可能如下所示(要排除其中包含 | party 文字的行),

SELECT * FROM ezpages_content WHERE pages_title NOT LIKE "%|party%" 

要排除其中包含 | costume 文本的行,查询将如下所示,

SELECT * FROM ezpages_content WHERE pages_title NOT LIKE "%|costume%" 

答案 3 :(得分:0)

没有案例使用,有无数种方法可以做到这一点。最简单,最可能表现最好的只是

WHERE pages_title <> '|party'