2016-10-03 148 views
1

我在使用|costume|party标识的字段中包含内容。根据部分字符串值限制MYSQL查询的结果

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

我试图

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

但只是给出了一个语法错误。所需的结果将返回所有数据为|costume

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

回答

2

不知道你的需求,但是你可以找NOT LIKE条款

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

谢谢@JaydipJ。那样做了:) –

1

我甚至不知道你是否可以检查在一个领域中的条目的一部分。

您可以使用通配符%操作员LIKENOT LIKE结合。

下面是适合您的正确语法的两个示例。使用哪种方法取决于你的预计业绩:

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

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

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

0

没有使用案例,有无数的方法来做到这一点。最简单和容易表现最好的将仅仅是

WHERE pages_title <> '|party' 
1

您要查找的内容是在MySQL NOT LIKE运营商。它用于排除这些行与LIKE运算符所遵循的标准匹配。

所以你的查询可能看起来像这样(要排除包括行|在这方文本),

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

要排除包括行|服装文本在里面,查询会看起来像这,

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