Restrictions on SET COLLATION
Although SET COLLATION enables you to change the collating order of the database server dynamically within a session, you should be aware of several limitations on the scope of what the SET COLLATION statement can accomplish.
- Only collation performed by the database server is affected. Client processes that sort data are not affected by SET COLLATION.
- Only the current session is affected. Other sessions are not affected directly by your SET COLLATION statements, but the database server will use their creation-time collating order to set any database objects that you create after SET COLLATION has run successfully.
- Changing the collating order does not change the code set. The database server always uses the code set specified by DB_LOCALE.
- Only NCHAR and NVARCHAR values are sorted in locale-specific order.
Processing characters from dissimilar code sets
- The GL_USEGLU environment variable was a
set to
1
when the database server instance was started. - The DB_LOCALE environment variable was set to a valid Unicode locale when the database was created.
- The CLIENT_LOCALE environment variable is set to valid Unicode locale that the DB_LOCALE setting of the database server supports.
For HCL OneDB to use
the International Components for Unicode (ICU) 4.8.14.2.1 libraries
to support versions of Unicode up to 6.0,5.1, the GL_USEGLU environment
variable must be set to a value of 1
(one) in the
server environment before the server is started. This setting initializes
conversion routines that enable Unicode collation and SQL operations
in databases that use UTF-8 character encoding, including the
Chinese GB18030-2000 code set. This
conversion applies only to databases that were created with GL_USEGLU=1
already
set.
1
in the client or in the server environments.