原帖由 dingjun123 于 2009-12-22 10:46 发表
这个可以用以下规则解释:
Blank-Padded Comparison Semantics If the two values have different lengths,
then Oracle first adds blanks to the end of the shorter one so their lengths are equal.
Oracle then compares the values character by character up to the first character that
differs. The value with the greater character in the first differing position is
considered greater. If two values have no differing characters, then they are
considered equal. This rule means that two values are equal if they differ only in the
number of trailing blanks. Oracle uses blank-padded comparison semantics only
when both values in the comparison are either expressions of datatype CHAR,
NCHAR, text literals, or values returned by the USER function.
Nonpadded Comparison Semantics Oracle compares two values character by character
up to the first character that differs. The value with the greater character in that
position is considered greater. If two values of different length are identical up to
the end of the shorter one, then the longer value is considered greater. If two values
of equal length have no differing characters, then the values are considered equal.
Oracle uses nonpadded comparison semantics whenever one or both values in the
comparison have the datatype VARCHAR2 or NVARCHAR2.
The results of comparing two character values using different comparison
semantics may vary. The table that follows shows the results of comparing five pairs
of character values using each comparison semantic. Usually, the results of
blank-padded and nonpadded comparisons are the same. The last comparison in
the table illustrates the Oracle uses nonpadded comparison semantics whenever one or both values in the
comparison have the datatype VARCHAR2 or NVARCHAR2.
The results of comparing two character values using different comparison
semantics may vary. The table that follows shows the results of comparing five pairs
of character values using each comparison semantic. Usually, the results of
blank-padded and nonpadded comparisons are the same. The last comparison in
the table illustrates the differences between the blank-padded and nonpadded
comparison semantics.