0
点赞
收藏
分享

微信扫一扫

utl_raw


---字符转二进制
utl_raw.cast_to_raw
---二进制转数字
utl_raw.cast_to_number
---二进制转字符
utl_raw.cast_to_varchar2

通常在统计信息中我们需要看直方图对应的low_value,high_value可以使用此函数转换

SQL> select d.low_value,d.high_value,utl_raw.cast_to_varchar2(d.low_value) low_value2,utl_raw.cast_to_varchar2(d.high_value) high_value2, d.num_distinct,d.num_nulls from dba_tab_col_statistics d where d.table_name = 'TAB_OBJ'  and d.column_name='OBJECT_TYPE';

LOW_VALUE HIGH_VALUE LOW_VALUE2 HIGH_VALUE2 NUM_DISTINCT NUM_NULLS
-------------------- -------------------- ------------- -------------- ------------ ----------
434C5553544552 57494E444F57 CLUSTER WINDOW 23 0

转换指定的列为二进制形式

SQL> select object_name ,utl_raw.cast_to_raw(object_name) obj_raw from TAB_OBJ where rownum<5;
OBJECT_NAME OBJ_RAW
-------------------------- -----------------------------
C_USER# 435F5553455223
C_TS# 435F545323
C_OBJ# 435F4F424A23
C_FILE#_BLOCK# 435F46494C45235F424C4F434B23

参考:​​

​https://docs.oracle.com/database/121/ARPLS/u_raw.htm#ARPLS71358​​

举报

相关推荐

0 条评论