The arithmetic operators are applied in the order presented below. You may use parentheses to override these default priorities.
For example, 3*4+5 is calculated as ( 3 x 4 ) = 12; then 5 is added to the total, giving a result of 17.
However, in the expression 3*(4+5), the sum in parentheses is calculated first; ( 4 + 5 ) = 9; then the total is multiplied 3, giving a result of 27.
Name |
Symbol |
Format |
Description |
Exponentiation |
^ |
Number^exponent, e.g. 5^3 |
Five to the power of three (5³), where 3 is the exponent number, giving the result 125 |
Multiplication |
* |
Number1*number2, e.g. 5*3 |
Five times three |
Division |
/ |
Number1/number2, e.g.15/3 |
Fifteen divided by three |
Addition |
+ |
Number1+number2, e.g. 10+5 |
Ten plus five |
Subtraction |
- |
Number1-number, e.g. 20-5 |
Twenty minus five |
See also Arithmetic Functions.
Name |
Symbol |
Format |
Description |
Equal to |
= |
Expr1 = Expr2 |
Condition true if Expr1 equal to Expr2 |
Case sensitive text comparison |
== |
Text1 == Text2 |
Condition true if Text1 is identical to Text2 (can only be used for text expressions) |
Less than |
< |
Expr1 < Expr2 |
Condition true if numeric Expr1 less than numeric Expr2 |
Less than or equal to |
=< |
Expr1 =< Expr2 |
Condition true if numeric Expr1 less than or equal to numeric Expr2 |
Greater than |
> |
Expr1 > Expr2 |
Condition true if numeric Expr1 greater than numeric Expr2 |
Greater than or equal to |
>= |
Expr1 >= Expr2 |
Condition true if numeric Expr1 equal to or greater than numeric Expr2 |
Not equal to |
<> |
Expr1 <> Expr2 |
Condition true if Expr1 not equal to Expr2 |
Text comparison |
like |
Text1 like Text2 |
Condition true if Text1 matches Text2. Text may contain wildcard symbols. The following condition is true if s1 is any 3-character string, e.g. 's1' like '???' Matching is case-insensitive. |
Numerical range comparison |
between |
Expr between (Expr1,Expr2) |
Condition is true if Expr is greater than or equal to Expr1 and less than or equal to Expr2 e.g. age between (18,60) |
The following symbols may be used with the like operator.
Symbol |
Description |
% |
Represents any number of characters (including none) in a term for a match to be found. For example th%e will match 'the', 'thee', 'three', 'thylacine' and all terms starting with 'th' and finishing with 'e', with or without characters between 'a' and 'e'. |
? |
Represents exactly one character in a term for a match to be found, e.g. ab?de will match 'abide', 'abode' and all terms starting with 'ab' and finishing with 'de', with any single character between. |
Symbol |
Format |
Description |
& |
Text1 & Text2 |
Evaluates to the text formed by joining together the terms Text1 and Text2. Useful for creating messages containing free text with embedded question values. |
When using the & operator to concatenate strings, if any of the referenced data is unknown, the entire expression remains blank. You can use "isknown" to ensure that default values are used. See example
Function |
Format |
Description |
not |
not Cond1 |
Condition is true if Cond1 is false |
and |
Cond1 and Cond2 |
Condition is true if both Cond1 and Cond2 are true |
or |
Cond1 or Cond2 |
Condition is true if either Cond1 or Cond2 (or both) are true |
When using not it is advisable to also use the general function isknown to avoid unexpected results concerning unknown data.
For example, the condition 'not q1 = 8' evaluates to true if q1 has a value that is not 8, but it also evaluates to true when q1 does not have a value as a result of not having been filled in.
If you use isknown as well as not you could create the condition 'isknown(q1) and not q1 = 8'
This evaluates to false when q1 has not been filled in, avoiding confusion.
Note that the condition 'isknown(q1) and not q1 = 8' is equivalent to 'q1 <> 8'
This is because <> is treated as a single operator, whereas "not q1 = 8" the "not" is applied after the "=" has been evaluated.