You're right re: variable-width multibyte character set. We're using UTF8 and I tend to gloss over that detail. >Btw, this is an important point, that nls_length_semanics affects only table >column (and possibly type) definitions, but no PL/SQL datatypes for example. >A client of mine had problems after migrating to UTF8 w. character nls >length semantics, PL/SQL variables were still defined in byte lengths.. > > Interesting, I was under the impression (from Oracle documentation) that recompiling PL/SQL routines with a session or system nls_length_semantics=char setting would ensure the variables are correctly defined. Could be wrong. > > >>So, the idea is we want a query to say "here's the value specified in >>the table create statement" for the length of that column. Whereas in >>8i we could query data_length, in 9i data_length does /not/ always >>reflect this value. Rather, it's stored in char_length, a field that >>does not exist in 8i. >> >> > >I'm not sure whether I understand your question, but check whether >CHAR_COL_DECL_LENGTH column in DBA_TAB_COLUMNS helps you. > > That might be exactly what I'm looking for, thanks! Adam ---------------------------------------------------------------- Please see the official ORACLE-L FAQ: http://www.orafaq.com ---------------------------------------------------------------- To unsubscribe send email to: oracle-l-request@xxxxxxxxxxxxx put 'unsubscribe' in the subject line. -- Archives are at //www.freelists.org/archives/oracle-l/ FAQ is at //www.freelists.org/help/fom-serve/cache/1.html -----------------------------------------------------------------