Operators of SolFS query language
See alsoOverview
Mathematical operators in SolFS query language are represented by addition, subtraction, multiplication and division. Usual relational operators (=, >, <, >=, <=) are supported. There are three logical operations: NOT, AND, OR. A particular operator D was introduced for explicit conversion of String to DateTime.
Supported operators:
Operator
Operand type(s)
Description
Logical Operators
not, ~, !
Boolean
Logical negation (NOT)
Number
Bitwise NOT
and, &
Boolean
Logical AND
Number
Bitwise AND
or, |
Boolean
Logical OR
Number
Bitwise OR
Mathematical Operators
+
Number, DateTime
Addition. If you add a Number to DateTime, the result will be of type DateTime with number of days, increased by the value of Number operand.
String
String concatenation.
-
Number
Negation
Number, DateTime
Subtraction. If you subtract a Number from DateTime, the result will be of type DateTime with number of days, decreased by the subtrahend.
Subtraction of a DateTime from DateTime results in a Number which contains difference in days. In this case time is not taken into account.
*
Number
Multiplication
/
Number
Division. Division by zero rises exception.
Relational Operators
=, ==
All types
Equal to
<>, !=
All types
Not equal to
>
All types
Greater than
<
All types
Less than
>=
All types
Greater than or equal to
<=
All types
Less than or equal to
Conditions
IS[ NOT] NULL
All types
IS returns True if the value is NULL, and False otherwise. IS NOT acts in the opposite way.
IS[ NOT] TRUE
Boolean
IS returns True if the value is True, and False otherwise. IS NOT acts in the opposite way.
IS[ NOT] FALSE
Boolean
IS returns True if the value is False, and False otherwise. IS NOT acts in the opposite way.
LIKE
String
This condition allows to incorporate wildcards into string tag search and perform pattern matching. LIKE supports two wildcards: % and _.
% allows to match any string of any length. Example: "From LIKE '% Smith'". This query selects all files received from all people with the second name Smith.
_ allows matching of a single character. Example: "From LIKE 'John Sm_th'". This query selects all files received from all Johns, which second name consists of five characters, begins with 'Sm' and ends with 'th' (Smith, Smyth, Smeth, etc).
Optional ESCAPE parameter can be used to search for values which include wildcard characters % or _. Example: "From LIKE 'John!_Smith' ESCAPE '!'". Here ! is defined as escape character, and the query will select all files received from John_Smith.
A more complicated example of using ESCAPE is the following: "From LIKE 'John!_%' ESCAPE '!'". In this example, all names beginning with John_ will match the query.
Intrinsic functions and constants
D(Value)
String
Converts String to DateTime. Conversion pattern is described in Type Conversion section.
IsNull(Value)
All types
Returns True if Value is NULL
IsNotNull(Value)
All types
Returns True if Value is not a NULL
Min(Value1, Value2)
All types
Returns the smallest of Value1 and Value2
Max(Value1, Value2)
All types
Returns the biggest of Value1 and Value2
Now
DateTime
Returns current system date and time
Today
DateTime
Returns current system date
See also
Got questions or comments about this topic? Tell us about them.

