String Operator
<
CustomFilterField
>
<
FieldRef
levelType
=
"ZBKS.Book"
category
=
"PDF"
>
<
FieldName
>Title</
FieldName
>
</
FieldRef
>
<
Hidden
>false</
Hidden
>
<
Type
>STRING</
Type
>
<
AllowOperatorSelection
>true</
AllowOperatorSelection
>
<
SimpleMapping
sqlName
=
"TITLE"
/>
</
CustomFilterField
>
To use operator in the query, use operator macro ${operator:<paramFieldName, sqlFragment>} like
${filterIfNotNull:TITLE,title ${operator:TITLE, $TITLE$}}
In the above example, if the "Title" filter was provided, it would pass the filterIfNotNull condition. This would cause it's SQL fragment, "title ${operator:TITLE, $TITLE$}", to be evaluated. Since the CustomFilterField is a String filter, the operator value could be either "Equal" or "Not Equal". If we suppose that it's "Equal", that cause the operator macro to return " = " plus it's fragment, "$TITLE$".
Thus, the final fragment used in the SQL would be "title = $TITLE$".
Please note that the "Empty" option ("IS NULL") will be included iff you specify the includeIsNull="true" attribute in the AllowOperatorSelection element, like this:
<AllowOperatorSelection includeIsNull="true">true</AllowOperatorSelection>