SQL> select utl_raw.cast_to_number('C102') from dual;
SQL> select utl_raw.cast_to_varchar2('6D616E79') from dual;
SQL> select column_name, data_type,
decode(data_type, 'NUMBER', utl_raw.cast_to_number(low_value)||'', 'VARCHAR2', utl_raw.cast_to_varchar2(low_value), low_value||'') as low_value,
decode(data_type, 'NUMBER', utl_raw.cast_to_number(high_value)||'', 'VARCHAR2', utl_raw.cast_to_varchar2(high_value), high_value||'') as high_value
from user_tab_cols where table_name = 'T1';
SQL> create or replace function convert_me( p_value in raw, p_type in varchar2)
return varchar2
is
v_number number;
v_varchar2 varchar2(4000);
begin
if (p_type = 'NUMBER') then
dbms_stats.convert_raw_value(p_value, v_number);
return v_number||'';
elsif (p_type = 'VARCHAR2') then
dbms_stats.convert_raw_value(p_value, v_varchar2);
return v_varchar2;
else
return p_value || '';
end if;
end;
/
SQL> select convert_me('C102', 'NUMBER') from dual;
SQL> select convert_me('6D616E79', 'VARCHAR2') from dual;
SQL> select column_name, data_type,
convert_me(low_value, data_type) as low_value,
convert_me(high_value, data_type) as high_value
from user_tab_cols where table_name = 'T1';
- 강좌 URL : http://www.gurubee.net/lecture/4282
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.