私には2つのユーザータイプがあります:
create type TEST_TYPE_WITH_CHAR as table of varchar2(100 char);
create type TEST_TYPE_WITH_BYTE as table of varchar2(100 byte);
どのタイプにcharが含まれ、どのバイトが含まれているかを判別する方法は?
ビューSYS.USER_COLL_TYPES
はそのような情報を提供しません。sqlfiddle。
私には2つのユーザータイプがあります:
create type TEST_TYPE_WITH_CHAR as table of varchar2(100 char);
create type TEST_TYPE_WITH_BYTE as table of varchar2(100 byte);
どのタイプにcharが含まれ、どのバイトが含まれているかを判別する方法は?
ビューSYS.USER_COLL_TYPES
はそのような情報を提供しません。sqlfiddle。
ビューを見てくださいall_coll_types
。Char_used
列。要素の長varchar2
さがバイト単位で指定されているのか、文字で指定されているのかを示します。
SQL> create type t_coll_type is table of varchar2(10 byte);
2 /
Type created
SQL>
SQL> select type_name
2 , elem_type_name
3 , char_used
4 from all_coll_types
5 where type_name = 'T_COLL_TYPE'
6 ;
TYPE_NAME ELEM_TYPE_NAME CHAR_USED
------------------------------ ------------------------------ ---------
T_COLL_TYPE VARCHAR2 B
SQL> create type t_coll_type2 is table of varchar2(10 char);
2 /
Type created
SQL>
SQL> select type_name
2 , elem_type_name
3 , char_used
4 from all_coll_types
5 where type_name = 'T_COLL_TYPE2'
6 ;
TYPE_NAME ELEM_TYPE_NAME CHAR_USED
------------------------------ ------------------------------ ---------
T_COLL_TYPE2 VARCHAR2 C