Oracle 11G函数整理(编码解码函数)

1、DECODE(expr,search1,result1,search2,result2,default) 如果expr=search 返回result否则返回default

select empno,ename,DECODE(JOB,'CLERK','AA','SALESMAN','BB','MANAGER','CC','PRESIDENT','DD','未知') tt

from scott.emp;

该函数在与聚合函数使用的效果很好

 

2、DUMP(expr,result_fmt,start_position,length)返回字符串的长度,类型,内部编码信息等

 expr:这个参数是要进行分析的表达式(数字或字符串等,可以是各个类型的值

    return_fmt:指返回参数的格式,这个参数有5种用法 

        1) 8:以8进制返回结果的值 

        2) 10:以10进制返回结果的值(默认

        3) 16:以16进制返回结果的值 

        4) 17:以单字符的形式返回结果的值 

        5) 1000:以上4种加上1000,表示在返回值中加上当前字符集 

    start_position:开始进行返回的字符位置 

    length:需要返回的字符长度 

select DUMP('Hello张三',16) a1 from dual;

 

3、ORA_HASH(expr,max_bucket,seed_value)计算字符串的hash值

select empno,ename,ORA_HASH(JOB,10000,1) a1,JOB from scott.emp order by 3;

 

4、VSIZE(expr) 返回字符串的字节数,不支持CLOB

select empno,ename,VSIZE(ename) a1,VSIZE('张三') a2 from scott.emp

 

你可能感兴趣的:(Oracle 11G函数整理(编码解码函数))