On Wed, Nov 24, 2004 at 08:07:33AM -0500, Hardy Merrill wrote:
> Tim, can you elaborate a little?  I've tried to find the referenced
> documentation but can't.  I don't quite understand how a CHAR datatype
> can cause this problem.

Well there's:

> See
> http://search.cpan.org/~timb/DBD-Oracle-1.16/Oracle.pm#Database_Handle_Attributes

and:

> See also the String Comparison section in the Datatypes chapter of the
> Oracle OCI manual for more details.

Can't be hard to find... I've just googled for

        "string comparison" datatypes oracle oci

The first result looking like Oracle docs was "Programmer's Guide
to the Oracle Call Interface:CHAPTER 3." and in there it says:

---snip---
String Comparison

Strings are compared using either blank-padded or non-blank-padded
comparison semantics. In a blank-padded comparison, blanks are added
to the shorter of the two strings to make the lengths equal. The
strings are then compared, character by character, until a difference
occurs or the end of the strings is reached. If a difference occurs,
the string having the character with the greater value is considered
greater.

In a non-blank-padded comparison, the strings are compared until a
difference occurs or the end of the shorter string is reached. If
two strings are equivalent up to the end of the shorter string, the
longer string is considered greater. If two strings of equal length
have no differing characters, they are equal.

Blank-padded comparisons are used whenever both of the strings are
fixed length. See Chapter 3 of the Oracle7 Server SQL Reference for
additional information about string comparison.
---snip---

That, combined with the DBD::Oracle docs link above, should give
you sufficient clues.

Tim.

Reply via email to