您好,欢迎访问一九零五行业门户网

用display_raw看字段的直方图

在看字段的直方图时,高值和低值看不明白,需要转换一下,转换如下。 sqlgt; select column_name, num_distinct n_d,
在看字段的直方图时,高值和低值看不明白,,需要转换一下,转换如下。
sql> select column_name,
          num_distinct n_d,
          low_value o_low_value,
          display_raw(low_value, data_type) low_value,
          high_value o_high_value,
          display_raw(high_value, data_type) high_value
      from user_tab_cols
    where table_name = 't'
    and (column_name='owner' or column_name='object_id'
    or column_name='created');
column_nam n_d    o_low_valu        low_value  o_high_val  high_value
---------- ------ ----------        ----------  ----------  ----------
owner      22      4249              bi        584442        xdb
object_id  51136    c103              2          c3071535      62052
created    1395    7869081e0e3319  30-8月-05 7872021c0c152c  28-2月-14
create or replace function display_raw (rawval raw, type varchar2)
    return varchar2
    is
      cn    number;
      cv    varchar2(32);
      cd    date;
      cnv    nvarchar2(32);
      cr    rowid;
      cc    char(32);
  begin
    if (type = 'number') then
        dbms_stats.convert_raw_value(rawval, cn);
        return to_char(cn);
    elsif (type = 'varchar2') then
        dbms_stats.convert_raw_value(rawval, cv);
        return to_char(cv);
    elsif (type = 'date') then
        dbms_stats.convert_raw_value(rawval, cd);
        return to_char(cd);
    elsif (type = 'nvarchar2') then
        dbms_stats.convert_raw_value(rawval, cnv);
        return to_char(cnv);
    elsif (type = 'rowid') then
        dbms_stats.convert_raw_value(rawval, cr);
        return to_char(cnv);
    elsif (type = 'char') then
        dbms_stats.convert_raw_value(rawval, cc);
        return to_char(cc);
    else
        return 'unknown datatype';
    end if;
  end;
其它类似信息

推荐信息