Relational Operators

Applies To: Microsoft Dynamics AX 2012 R3, Microsoft Dynamics AX 2012 R2, Microsoft Dynamics AX 2012 Feature Pack, Microsoft Dynamics AX 2012

The following table lists the relational operators that can be used in X++. All relational operators (except !) are placed between two expressions: expression1 relationalOperator expression2. For example, while (a > 10).

Operator

Meaning

Description

like

like

Returns true if expression1 is like expression2.

like can use * as a wildcard for zero or more characters and ? as a wildcard for one character.

Expression2 cannot be longer than 1000 characters.

If the expressions that you are comparing contain a file path, you need to include four backslashes between each element. For example:

select * from xRefpaths

    where xRefPaths.Path like “\\\\Classes\\\\AddressSelectForm”

Note

like is evaluated by the underlying SQL, so the result may differ on different installations.

==

equal

Returns true if both expressions are equal.

Note

When you use == to compare objects, the object references rather than the objects themselves are compared. This may be a problem if you compare two objects that are located on the server and on the client, respectively. In such cases, you should use the equal method in the Object class, which you can override to specify what it means that two objects are equal. If equal is not overridden, the comparison is identical to the one performed by ==.

>=

greater than or equal to

Returns true if expression1 is greater than or equal to expression2.

<=

less than or equal to

Returns true if expression1 is less than or equal to expression2.

>

greater than

Returns true if expression1 is greater than expression2.

<

less than

Returns true if expression1 is less than expression2.

!=

not equal

Returns true if expression1 is different from (that is, not equal to) expression2.

&&

and

Returns true if both expression1 and expression2 are true.

||

or

Returns true if expression1 or expression2 or both are true.

!

not

A unary operator. Negates the expression. Returns true if the expression is false; false if the expression is true.

Examples

Operator

Example

Returns

like

"Jones" like "Jo?es"

true; the ? is equal to any single character.

like

"Fabrikam, Inc." like "Fa*"

true; the * is equal to zero or more characters.

==

(( 42 * 2) == 84)

true; 42*2 is equal to 84.

>=

today() >= 1\1\1980

true; today is later than January 1, 1980.

>=

((11 div 10) >= 1)

true; 11 div 10 is 1 (therefore, >= 1 is true).

<=

(11<= 12)

true; 11 is less than 12.

>

((11 div 10) > 1)

false; 11 div 10 is 1.

<

(11 div 10) < 1)

false; 11 div 10 is 1.

!=

(11 != 12)

true; 11 is not equal to 12.

&&

(1 == 1) && (3 > 1)

true; both expressions are true.

See also

Arithmetic Operators

Assignment Operators

Expressions Syntax

Operator Precedence

Announcements: New book: "Inside Microsoft Dynamics AX 2012 R3" now available. Get your copy at the MS Press Store.