Data Type | Description | Examples |
---|---|---|
Integer | One or more digits | 623 |
Floating point | Digits with decimal point. Scientific notation supported. | 24.96
2.998e8 |
String | Any set of characters surrounded by double quotes. To place a double quote in the string constant it needs to be doubled. Also, any set of characters that don't starts with an alphabetic character and isn't a valid field name will be taken as a string value. | "foobar" |
Boolean | There is no constant representation for a boolean value. A boolean value is always the result of a relational operator, a logical operator or a Logical type Btrieve field. | |
Date | The regular dd/mm/yy or dd/mm/yyyy notation is used but must be enclosed in single quotes as "/" is an operator itself (division). If a two digit year is given it will be assumed to be 21st century if it is less than 80. | '1/11/98'
'25/12/2001' |
Time | hh:mm[:ss][a|p] notation is used but, like dates, it must also be enclosed in single quotes as ":" is used in the conditional operator. | '10:42p'
'5:13:38' |
Operator | Description | Example | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Equality: Returns TRUE of values are the same, FALSE otherwise. | CustomerName = "Fred Bloggs"
Quantity = 5 |
||||||||
|
Not equal: Like = but gives the opposite result. | CustomerCode != "CASH" | ||||||||
|
Greater Than: Returns true if the first value is greater than the second. | Price > 20 | ||||||||
|
Less Than: Returns true if the first value is less than the second. | 20 < Price | ||||||||
|
Greater Than or Equal: Returns true if the first value is greater than or equal to the second. | |||||||||
|
Less Than or Equal: Returns true if the first value is less than or equal to the second. | |||||||||
== | Same as = but string comparisons are case sensitive | |||||||||
|
Pattern Test: The left value is a string that is searched for a match
to the regular expression in the right value. The regular expression can
use any of the following wild cards:
|
CustomerName ~= "*bob*"
CustomerCode ~= "TRF*" |
Operator | Description | Example |
---|---|---|
|
Logical AND: returns TRUE only if both values are TRUE | Balance > 500 & CustomerCode != "CASH" |
|
Logical OR: returns TRUE if either value is TRUE | SellPrice < CostPrice | SellPrice < 5 |
|
Logical NOT: Returns the opposite logical value to the value it's applied to. | !(ProductCode~="STD*") |
Operator | Description | Example |
---|---|---|
|
Addition | SellPrice < CostPrice + 10 |
|
Subtraction | SellPrice - 10 < CostPrice |
|
Multiplication | SellPrice < CostPrice * 1.2 |
|
Division | SellPrice / 1.2 < CostPrice |
|
Modulus | ReorderQty % 10 != 0 |
|
Power of | KBytesNeeded * 2^10 < FreeSpace |
If x is true the value y is returned, otherwise the value z is returned.
EG.
SellPrice > 500 ? "Expensive" : "Cheap"