CDO uses mathematical relational operators and pattern testing relational operators in its conditional expressions. Mathematical relational operators are symbols that allow you to compare values. Pattern testing relational operators are keywords that allow you to test for a pattern of values. Unlike the mathematical relational operators, each pattern testing relational operator has its own unique syntax. Pattern Testing Relational Operators lists the pattern testing relational operators. Table 5-6 Pattern Testing Relational Operators Clause Relational Operation BETWEEN True if the first value expression is less than or equal to the second value expression and greater than or equal to the third value expression. CONTAINING True if the string specified by the second string expression is found within the string specified by the first string expression. CONTAINING is not case sensitive. MATCHING True if the second value expression matches a substring of the first value expression. MATCHING is not case sensitive. It uses the following wildcard characters: o Asterisk (*)- Matches any string of zero or more characters o Percent sign (%)-Matches any single character in that position STARTING True if the first characters of the first string WITH expression match the second string expression. STARTING WITH is case sensitive. The logical operators AND, OR, and NOT let you compare two or more conditional expressions and optionally reverse the value of a conditional expression. The result of using a logical operator is another conditional expression. Mathematical Relational Operators lists the mathematical relational operators. These operators allow you to compare values. In all cases, if either value expression in a conditional expression is null, the value of the entire condition is null. Table 5-7 Mathematical Relational Operators Permitted Symbols Relational Operation EQ or = True if the two value expressions are equal. NE or <> True if the two value expressions are not equal. GT or > True if the first value expression is greater than the second. GE or >= True if the first value expression is greater than or equal to the second. LT or < True if the first value expression is less than the second. LE or <= True if the first value expression is less than or equal to the second. Use either the alphabetic symbol or the mathematical symbol from the Permitted Symbols column, but do not use both when you specify a relational operator. See the documentation for the languages and products that use the repository to determine how that product evaluates character string literals. In some cases, character string literals are compared according to the ASCII collating sequence. Under ASCII, lowercase letters have a greater value than uppercase letters, and the letters near the beginning of the alphabet have a lesser value than those near the end. For products that compare character string literals according to the ASCII collating sequence, the following statements are true: o a > A o a < z o A < Z To determine how CDO conditional expressions linked by logical operators are evaluated, see the documentation for the product that will be evaluating the conditional expression. See the documentation for languages and products that use the repository to determine how they evaluate character string literals. CAUTION The NOT operator applies to conditional expressions. Do not use the NOT operator and an equal sign instead of the NE or <> relational operators. The following statement is not valid: WITH SALARY_AMOUNT IN S NOT = 30000 Use one of the following alternatives: WITH NOT (SALARY_AMOUNT IN S = 30000) WITH SALARY_AMOUNT IN S NE 30000 WITH SALARY_AMOUNT IN S <> 30000