sql - 如何转换列的值,如 ALL_TAB_COLUMNS 的 HIGH_VALUE 格式
问题描述
如何转换列的值,如 oracleALL_TAB_COLUMNS
的(Low)HIGH_VALUE
格式。
它应该调用什么函数?谢谢。
附言。HIGH_VALUE
的类型是RAW(32)
输入 :
select somefuntion('xxxooo') from dual
预计:
7878786F6F6F
我已阅读 oracle 网络文档:ALL_TAB_COLUMNS
解决方案
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
推荐阅读
- php - 使用 Like 运算符进行搜索,使用 php 在 url 中显示输入的文本
- c - 参数错误的不兼容类型
- php - Laravel - 控制器中的会话获取设置的最后一个值
- c# - 为什么 UserControle 不可见?
- c# - C#调用返回类型不同类型的var作为参数
- c++ - 为什么 ++xa 左值和 x++ 是右值?
- vb.net - Async Await Task.Run 更新模态表单抛出异常
- javascript - window.XMLHttpRequest.prototype.send 仅适用于控制台
- typescript - tsconfig“lib”选项的用例是什么?
- user-interface - 用例到命令/应用层映射:实现