使用utl_raw这个包的bit_and,bit_or及bit_complement过程。

解决方案 »

  1.   

    SQL> select utl_raw.bit_and('01','11') from dual;UTL_RAW.BIT_AND('01','11')
    --------------------------------------------------------------------------------
    01SQL> select utl_raw.bit_or('01','11') from dual;UTL_RAW.BIT_OR('01','11')
    --------------------------------------------------------------------------------
    11SQL> select utl_raw.bit_xor('01','11') from dual;UTL_RAW.BIT_XOR('01','11')
    --------------------------------------------------------------------------------
    10求反函数
    SQL> select utl_raw.bit_complement('01') from dual;UTL_RAW.BIT_COMPLEMENT('01')
    --------------------------------------------------------------------------------
    FESQL>
      

  2.   

    你有这个功夫,还不如自己写函数来完成呢,主要是利用power(),mod(),trunc()这几个oracle函数的组合就可以了,你可以瞧瞧
    http://www.csdn.net/develop/Read_Article.asp?Id=16641Oracle8以上有BITAND函数可以进行位与操作(不过,我遇到过其结果有误的情况,所以... -) )SQL> select to_number(bitand(10,15)) from dual;TO_NUMBER(BITAND(10,15))
    ------------------------
                          10