Re: Determining char/varchar2 column length

  • From: Adam Donahue <adonahue@xxxxxxxxxxx>
  • To: oracle-l@xxxxxxxxxxxxx
  • Date: Wed, 14 Jul 2004 14:09:38 -0700

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
-----------------------------------------------------------------

Other related posts: