If you’ve ever messed about with multibyte charactersets then you will probably have come across NLS_LENGTH_SEMANTICS – i.e the difference between a VARCHAR2(200 BYTE) and a VARCHAR2(200 CHAR) and, for example, that for a multibyte character string you might get as few as 50 characters in a VARCHAR(200 BYTE).

Note in this thread on the OTN Globalization Support Forum the advice of Oracle’s Sergiusz Wolicki that, contrary to the Oracle documentation (for which a documentation bug has been filed), it is in no way recommended to set NLS_LENGTH_SEMANTICS to CHAR in the parameter file.

This means that the recommended approach to to manually specifiy CHAR in column declarations when you want CHAR. Which makes sense.
And to use an ALTER SESSION command if those four extra characters (five with the space) seems like too much hard work.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: