비교 피연산자를 노드에 추가합니다.
이 메소드에 의해 작성되는 피연산자는 필드 이름, 비교 연산자 및 값으로 구성됩니다. 조회가 실행될 때 필드의 값은 제공된 비교 연산자를 사용하여 지정된 값과 비교됩니다. 비교의 결과, 노드가 자체 부울 연산에서 사용하는 부울 값이 나옵니다.
@dateRange = ("2007-12-01", "2007-12-15");
$node->BuildFilter("submit_date", $CQPerlExt::CQ_COMP_OP_BETWEEN, \@dateRange);
$operator->BuildFilter("customer_priority", $CQPerlExt::CQ_COMP_OP_IS_NOT_NULL, [""]);
$operator->BuildFilter("customer_priority", $CQPerlExt::CQ_COMP_OP_IS_NULL, [""]);
QueryDef 오브젝트의 BuildFilterOperator 메소드에 주어진 예제도 참조하십시오.
조회 표현식은 2진 트리로 제한됩니다. 이 메소드는 특정 QueryFilterNode 오브젝트에 대해 원하는 횟수만큼 호출할 수 있습니다.
field_name 인수에 대한 올바른 값을 얻으려면 조회가 기반으로 하는 EntityDef 오브젝트의 GetFieldDefNames 메소드를 호출하십시오.
VBScript
node.BuildFilter field_name,comparison_operator,value
Perl
$node->BuildFilter(field_name, comparison_operator, value);
VBScript에서는 값을 Variant 배열로 지정하십시오.
Perl에서는 값을 문자열에 대한 참조 또는 문자열 배열로 지정합니다.
VBScript
Dim dateRange
ReDim dateRange(1) ' This sets up a two element array
dateRange(0) = "2007-12-01"
dateRange(1) = "2007-12-15"
node.BuildFilter "submit_date", AD_COMP_OP_BETWEEN, dateRange
Perl
#Example1
@dateRange = ("2007-12-01", "2007-12-15");
$node->BuildFilter("submit_date", $CQPerlExt::CQ_COMP_OP_BETWEEN, \@dateRange);
#Example2
@owner = ("jsmith");
@state = ("closed");
$queryDef = $CQsession->BuildQuery("defect");
@dbfields = ("ID","State","Headline");
foreach $field (@dbfields) {
$queryDef->BuildField($field);
}
$operator=$queryDef->BuildFilterOperator($CQPerlExt::CQ_BOOL_OP_AND);
$operator->BuildFilter("Owner", $CQPerlExt::CQ_COMP_OP_EQ,\@owner);
$operator->BuildFilter("State", $CQPerlExt::CQ_COMP_OP_NOT_IN, \@state);