|
|
When you compare a CHAR and a VARCHAR string, ALLBASE/SQL
pads the shorter string with ASCII blanks to the length of the longer
string. The two strings are equal if the characters in the shorter
string match those in the longer string and if the excess characters
in the longer string are all blank.
If a case sensitive CHAR column is compared to a CHAR column
that is not case sensitive, both columns are treated as case sensitive.
If a string constant is compared to a column that is not case sensitive,
then the string constant is treated as not case sensitive.
Before comparing DECIMAL numbers having different scales,
ALLBASE/SQL extends the shorter scale with trailing zeroes to match
the larger scale.
Items of type DATE, TIME, DATETIME, and INTERVAL can be compared
only with items of the same type, or with CHAR or VARCHAR strings
in the correct format. All comparisons are chronological, which
means the point which is farthest from '0000-01-01 00:00:00.000'
is the greatest value. ALLBASE/SQL attempts to convert CHAR or VARCHAR
strings to the default date/time format before performing the comparison.
When you compare a BINARY and a VARBINARY hexadecimal string,
ALLBASE/SQL pads the shorter binary string with binary zeroes to
the length of the longer string. When comparing two BINARY or VARBINARY
hexadecimal strings having different lengths, ALLBASE/SQL compares
the excess binary digits of the longer binary string with binary zeroes.
The two strings are equal if the binary digits in the shorter string
match those in the longer string and if the excess binary digits
in the longer string are all binary zero.
The chapter "Search Conditions" provides more information on comparison
operations.
|