Compares two expressions and returns a TRUE
value if they are not equal.
Syntax
expression { NE | <> } expression
|
-
expression
- A constant, field name, variable name, or expression. The expressions
on either side of the NE or must be of the same data type.
Example
This
procedure displays information for all items that appear in the
catalog. (The CatPage field is not equal to the Unknown value (?) or
0.)
r-ne.p
FOR EACH Item NO-LOCK WHERE Item.CatPage <> ? AND Item.CatPage <> 0:
DISPLAY Item.ItemNum Item.ItemName Item.CatPage
WITH TITLE "Catalog Items" USE-TEXT.
END.
|
Notes
- By
default, the AVM uses the collation rules you specify to compare
characters and sort records. The collation rules specified with
the Collation Table (-cpcoll) startup parameter
take precedence over a collation specified for any database the
AVM accesses during the session, except when the AVM uses or modifies
pre-existing indexes. If you do not specify a collation with the -cpcoll startup
parameter, the AVM uses the language collation rules defined for
the first database on the command line. If you do not specify a
database on the command line, the AVM uses the collation rules with
the default name "basic" (which might or might
not exist in the convmap.cp file).
- If one of the expressions has the Unknown value (?) and
the other does not, the result is TRUE. If both have the Unknown value (?),
the result is FALSE. For SQL, however, if one or both expressions
have the Unknown value (?), then the result is the Unknown value (?).
- You can compare character strings with NE. Most character comparisons
are case insensitive in ABL. That is, all characters are converted
to uppercase prior to comparisons. However, it is possible to define
fields and variables as case sensitive (although it is not advised,
unless strict ANSI SQL adherence is required). If either expression is
a field or variable defined as case sensitive, the comparison is
case sensitive and "Smith" does not equal "smith".
- Characters are converted to their sort code values for comparison. Using
the default case-sensitive collation table, all uppercase letters
sort before all lowercase letters (for example, a is greater than
Z, but less than b.) Note also that in character code uppercase
A is less than [ , \ , ^ , _, and ' , but lowercase
a is greater than these.
- You cannot compare data of different DATE, DATETIME, and DATETIME-TZ
data types to each other using NE. You must first convert different
date and datetime data types to the same data type before doing a
comparison between them.
- You can use NE to compare one BLOB field to another. The AVM performs
a byte-by-byte comparison.
- You can use NE to compare a LONGCHAR variable to another LONGCHAR
or CHARACTER variable. The variable values are converted to -cpinternal for
comparison and must convert without error, or the AVM raises a run-time
error.
- You can use NE to compare a CLOB field only to the Unknown value (?).
- You can use NE to compare two enums, including both ABL and .NET enums, as long as they
are the same enum type. NE compares the underlying numerical values of the
enumerators.