как преобразовать значение столбца как формат HIGH_VALUE ALL_TAB_COLUMNS - PullRequest
0 голосов
/ 05 июля 2018

Как преобразовать значение столбца в формат oracle ALL_TAB_COLUMNS * (Low)HIGH_VALUE.

какую функцию он должен вызывать? спасибо.

пс. HIGH_VALUE тип RAW(32)

ввод:

select somefuntion('xxxooo') from dual

ожидать:

7878786F6F6F

Я прочитал веб-документ оракула: ALL_TAB_COLUMNS

1 Ответ

0 голосов
/ 05 июля 2018

С функцией utl_raw.cast_to_raw() :

select utl_raw.cast_to_raw('xxxooo') from dual;

UTL_RAW.CAST_TO_RAW('XXXOOO')
-----------------------------
7878786F6F6F

Что не соответствует вашему примеру вывода для этого готового ввода, но вы, похоже, тоже сделали вывод.

В качестве демонстрации:

create table t42(str) as
select 'xxxooo' from dual;

exec dbms_stats.gather_table_stats(user, 'T42');

select high_value from all_tab_columns where table_name = 'T42' and column_name = 'STR';

HIGH_VALUE                                                      
----------------------------------------------------------------
7878786F6F6F

select utl_raw.cast_to_raw(max(str)) from t42;

UTL_RAW.CAST_TO_RAW(MAX(STR))
-----------------------------
7878786F6F6F
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...