转换varchar2中user_partition的高值

时间:2011-10-19 05:27:50

标签: oracle oracle11g

select SomeFunction(HIGH_VALUE)  
  from user_tab_partitions ;

获得计划时,

desc user_tab_partitions;

Name                   Null Type         
---------------------- ---- ------------ 
TABLE_NAME                  VARCHAR2(30) 
COMPOSITE                   VARCHAR2(3)  
PARTITION_NAME              VARCHAR2(30) 
SUBPARTITION_COUNT          NUMBER       
HIGH_VALUE                  LONG()

user_tab_partitions的HIGH_VALUE列存储为LONG datatype..still我无法在varchar2中转换它。 我能够如果我使用select into子句存储Highvalue ..但我想在函数中传递高值并将结果返回为varchar2 ..我已经写了下面的函数但它不起作用..

create or replace
function SomeFunction(high_val LONG raw) 
return varchar2
is
   lHigh_value     LONG;
   strDate_clause  VARCHAR2(100);
begin
   lHigh_value := high_val;
   strDate_clause := lHigh_value;
   return strDate_clause;
end;

所以请帮我解决问题.. 提前罢了..

1 个答案:

答案 0 :(得分:-1)

您可以按照此SO条目中的接受答案...

Converting small-ish Oracle long raw values to other types

并使用

UTL_RAW.CAST_TO_VARCHAR2

http://www.dbasupport.com/forums/showthread.php?t=5342