我用UTL_RAW.CAST_FROM_NUMBER把数字20存为RAW类型。可结果是C115,为什么不是14呢?不是16进制吗?到底是怎么转换的?请大家指教。感激。
答案:
select hextoraw(to_char(20,'fmxx')) from dual;
使用
SQL> select utl_raw.cast_to_raw('abc') from dual;
UTL_RAW.CAST_TO_RAW('ABC')
-------------------------------------------------------------------------------
616263
但是使用utl_fiile.put_raw(myfile,utl_raw.cast_to_raw('abc')) 以后
到文件去看仍然写得是abc?这是为什么?
cast_to_raw这个只是显示的方法不同而已,真正的数据没有变,如果想变,那么你可以用utl_raw.cast_to_raw('abc')的值插入到别的字段或者变量中