Syntax |
Expression1 [< | > | <= | >= | <> | =] expression2 |
|||
Description |
Comparison operators return True or False depending on the operator. |
|||
Comments |
The comparison operators are listed in the following table: |
|||
|
Operator |
Returns True If |
||
|
> |
expression1 is greater than expression2 |
||
|
< |
expression1 is less than expression2 |
||
|
<= |
expression1 is less than or equal to expression2 |
||
|
>= |
expression1 is greater than or equal to expression2 |
||
|
<> |
expression1 is not equal to expression2 |
||
|
= |
expression1 is equal to expression2 |
||
|
This operator behaves differently depending on the types of the expressions, as shown in the following table: |
|||
|
If one |
and the other |
|
|
|
Numeric |
Numeric |
A numeric comparison is performed (see below). |
|
|
String |
String |
A string comparison is performed (see below). |
|
|
Numeric |
String |
A compile error is generated. |
|
|
Variant |
String |
A string comparison is performed (see below). |
|
|
Variant |
Numeric |
A variant comparison is performed (see below). |
|
|
Null variant |
Any data type |
Returns Null. |
|
|
Variant |
Variant |
A variant comparison is performed (see below). |
|
|
String Comparisons If the two expressions are strings, then the operator performs a text comparison between the two string expressions, returning True if expression1 is less than expression2. The text comparison is case-sensitive if Option Compare is Binary; otherwise, the comparison is case-insensitive. When comparing letters with regard to case, lowercase characters in a string sort greater than uppercase characters, so a comparison of "a" and "A" would indicate that "a" is greater than "A". Numeric Comparisons When comparing two numeric expressions, the less precise expression is converted to be the same type as the more precise expression. Dates are compared as doubles. This may produce unexpected results as it is possible to have two dates that, when viewed as text, display as the same date when, in fact, they are different. This can be seen in the following example: |
|||
|
Sub Main() Dim date1 As
Date date1 = Now date2 = date1 + 0.000001 'Adds a fraction of a second. MsgBox date2 = date1 'Prints False (the dates are different). MsgBox date1 &
"," & date2 'Prints two
dates that are the same. |
|||
|
Variant Comparisons When comparing variants, the actual operation performed is determined at execution time according to the following table: |
|||
|
If one |
and the other |
Then |
|
|
Numeric |
Numeric |
The variants are compared as numbers. |
|
|
String |
String |
The variants are compared as text. |
|
|
Numeric |
String |
The number is less than the string. |
|
|
Null |
Any other data type |
Null |
|
|
Numeric |
Empty |
The number is compared with 0. |
|
|
String |
Empty |
The string is compared with a zero-length string. |
|
Example |
Sub Main() 'Tests two literals and displays
the result. 'Tests two strings and displays the result. If "This" < "That" Then |
|||
See Also |
Operator Precedence (topic); Is (operator); Like (operator); Option Compare (statement). |
C |