Operators
Boolean Operators
Name | Description |
---|---|
OR | Boolean OR , also ||. |
AND | Boolean AND , also && . |
NOT | Boolean NOT , also ! . |
Examples:
value > 90 && avg() > 50
tags.file_system LIKE '/opt/*' OR tags.file_system LIKE '/mnt/*'
tags.file_system NOT LIKE '/dev/*'
NOT tags.isEmpty()
Ternary Operator
Name | Description |
---|---|
? | Ternary conditional |
The ternary ?
operator simplifies if/else
syntax. The operator chooses one of the two options based on the boolean expression.
If the expression expr
evaluates to true
, the operator selects value1
option. Otherwise, value2
is chosen.
boolean expr ? value1 : value2
Examples:
tags.mount_point == '/' ? 90.0 : 75.0
// The above example is equivalent to:
if (tags.mount_point == '/') {
return 90.0;
} else {
return 75.0;
}
status >= 500 ? 'Server Error' : ((status >= 400) ? 'Client Error' : ((status >= 300) ? 'Redirect' : 'OK')))
Numeric Operators
Name | Description |
---|---|
+ | Addition |
- | Subtraction |
* | Multiplication |
/ | Division |
% | Modulus |
= == | Equality |
!= | Inequality |
> | Greater than |
>= | Greater than or equal to |
< | Less than |
<= | Less than or equal to |
BETWEEN | n BETWEEN m AND p The number n is between m and p (inclusive).m <= n <= p .Example: avg() BETWEEN 10 and 20 . |
IN | Returns true if the number is contained in the numeric collection. |
Examples:
value*100 > 90
max() BETWEEN 80 and 100
value IN (0, 1, 12)
Text Operators
Name | Description |
---|---|
= == | Equality. The comparison is case-insensitive ('a' = 'A' returns true ). |
!= | Not equal. The comparison is case-insensitive ('a' != 'A' returns false ). |
BETWEEN | Returns true if the left operand string is ordered between lower and upper strings on the right.a BETWEEN b AND c .String a is ordered between b and c (inclusive) using lexicographical comparison.The comparison is case-sensitive. Example: timeStr BETWEEN '18:00' AND '18:04' . |
LIKE | Returns true if the left operand string matches the pattern on the right. The pattern can include regular characters and wildcards ? and * .The operator also accepts a collection of patterns in round brackets. |
IN | Returns true if the left operand string is contained in the string collection specified in parenthesis on the right. |
Examples:
entity = 'nurswgvml007'
entity IN ('nurswgvml007', 'nurswgvml010')
entity LIKE '*007'
tags.location LIKE ('NUR*', entity.tags.location)