Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Bitwise masking...
In article <92gnkk$9o1$1_at_nnrp1.deja.com>,
nickvysh_at_my-deja.com wrote:
> Don't know about OR, XOR but you can do AND.
> Try:
>
> select decode(bitand(6,3),2,'it works!','doesnt work') from dual
>
> In article <q0Q26.20$Gf6.1572_at_news3.voicenet.com>,
> "JAP" <JAP_at_unknown.com> wrote:
> > I have a (10,0) Number format field that I would like to run logical
bitwise
> > operations using masks. For example AND, OR and Exclusive OR
operations...
> >
> > 0011111111
> > 0000001000 AND
> > =============
> > return TRUE
> >
> > Is this possible using:
> >
> > * PL/SQL
> > * native or developed functions
> > * Stored procedures
> >
> > Thanks for any help,
> > Schmen
> >
> >
>
> Sent via Deja.com
> http://www.deja.com/
>
You can use UTL_RAW package:
SELECT UTL_RAW.BIT_AND(HEXTORAW(TO_CHAR(255,'FM0X')),
HEXTORAW(TO_CHAR(16,'FM0X'))) "AND" FROM DUAL; SELECT UTL_RAW.BIT_XOR(HEXTORAW(TO_CHAR(255,'FM0X')), HEXTORAW(TO_CHAR(16,'FM0X'))) "XOR" FROM DUAL; SELECT UTL_RAW.BIT_OR(HEXTORAW(TO_CHAR(255,'FM0X')), HEXTORAW(TO_CHAR(16,'FM0X'))) "OR" FROM DUAL; SELECT DECODE(UTL_RAW.BIT_AND(HEXTORAW(TO_CHAR(255,'FM0X')), HEXTORAW(TO_CHAR(16,'FM0X'))), HEXTORAW(TO_CHAR(16,'FM0X')), 'TRUE','FALSE') FROM DUAL;
Lev Smirnov
Brainbench MVP for Oracle Admin
http://www.brainbench.com
Sent via Deja.com
http://www.deja.com/
Received on Fri Dec 29 2000 - 00:24:18 CST