Logical Operators Explained

Simple Logical Operators Explained

The simple logical operators compare two values (numeric or character) and return a TRUE condition if the logical test is true and a FALSE condition if the result is false. Logical tests can be combined with parentheses and arithmetic operators to perform complex logical comparisons. These operators have two alternate names, one a mnemonic, and the other a mathematical symbol.

Mnemonic Mathmatical Simple Logicla Operator
LT < Less Than
GT > Greater Than
EQ = Equal
LE <= Less Than or Equal To
GE >= Greater Than or Equal To
NL

¬<

Not Less Than
NG

¬>

Not Greater Than
NE

¬=

or <> Not Equal To

The logical not symbol (¬) used above is hexadecimal 5f. It may be used with the mathematical symbols for less than (<), greater than (>), and equal to (=).

Usage

Following are examples of simple logical operators used in an expression in a the 4GL command:

select salary gt 20000

list by dept where location eq 'nyc'

if salary le 5000 then print empname

Rules for Comparing Notavailable Values
• If a notavailable is compared to another notavailable for equality in a logical expression, the result is TRUE.
• If a notavailable is compared to any other value, the result is FALSE. However, if NE is used in the expression, the result is TRUE.

Special Logical Operators

The special logical operators compare one value with a number of values and return a logical value (TRUE / FALSE) based on whether certain conditions are true or false. These operators allow complicated logical expressions to be stated more simply than could be done with the simple logical operators above.

AMONG
Compares the value of an expression to a list of values trying to find a matching entry.

BETWEEN
Compares an expression to two other expressions to determine if the value of the first expression is between the values of the other two expressions.

CONTAINS
Compares the value of a character string expression to each entry in a list of character expressions and indicates whether the first string of characters is contained in the second string.

LIKE
Compares the value of a character string to a specified pattern and indicates whether the first string of characters matches the pattern. Wild card characters can be included in the pattern.

Each of these logical operators is discussed in detail in Operators Used in Expressions in Chapter 5 of the UltraQuest and NOMAD Reference Manual.