How is the lexicographic order defined in Java especially in reference to special characters like !
, .
and so on?
An examplary order can be fou
In Java it's based on the Unicode value of the string:
http://download.oracle.com/javase/1.4.2/docs/api/java/lang/String.html#compareTo(java.lang.String)
In Oracle, it will depend on the charset you are using on your database. You'll want it to be UTF-8 to have consistent behavior with Java.
To check the character set:
SQL> SELECT parameter, value FROM nls_database_parameters
WHERE parameter = 'NLS_CHARACTERSET';
PARAMETER VALUE
------------------ ---------------------
NLS_CHARACTERSET UTF8
If it's not UTF-8, then you can get different comparison behavior depending on which character set your Oracle database is using.