首先是基本的操作符,跟符号本身意思一样。
= equals 等于
!= does not equal 不等于
> greater than 大于
>= greater than or equal to 大于等于
< less than 小于
<= less than or equal to 小于等于
LIKE 和 NOT LIKE 的意思
LIKE和NOT LIKE是SQL的操作符让你可以在查询的时候加入通配符%或者*,所以meta_query的时候跟这个沾边的都会查询出来。如:
array(
'key' => 'name',
'value' => 'Pat',
'compare' => 'LIKE'
)
这个意思就是当你查询的时候,不仅仅会跳出来Pat,甚至Patrick,Paticia等等前面三个字母为pat的都会返回出来,意思就是查询的是Pat*。
IN 和 NOT IN
IN和NOT IN 选择所有匹配给到的数组里面的数值,也就是value数组,所以你可以这么做:
array(
'key' => 'color',
'value' => array('red', 'green', 'blue')
'compare' => 'IN'
)
这样会返回颜色值不管设置为red,green或者blue的数值。用NOT IN 则是相反的情况。这要求你在value里给到一个数组并包含超过两个数值。
BETWEEN and NOT BETWEEN
BETWEEN and NOT BETWEEN 允许你在一个数值段里面进行查询,比方说设置的value是10和50,那么就会查询并返回10和50之间的结果。这要求value设置的数值必须是两个。
array(
'key' => 'price',
'value' => array(20,30)
'compare' => 'BETWEEN'
)
NOT EXISTS
NOT EXISTS返回无key值或者key值value为空的情况,此时不需要设置value值:
array(
'key' => 'price',
'compare' => 'NOT EXISTS'
)