Oracle_scripte/Tanel/bitmask.sql
2014-09-17 13:23:48 +02:00

13 lines
432 B
MySQL

select
level - 1 bit
,DECODE(bitand(to_number('&1','XXXXXXXXXXXXXXXX'),power(2,level-1)),0,0,1) is_set
,to_char(power(2,level-1),'XXXXXXXXXXXXXXXX') val_hex
,bitand(to_number('&1','XXXXXXXXXXXXXXXX'),power(2,level-1)) val_dec
from
dual
where
DECODE(bitand(to_number('&1','XXXXXXXXXXXXXXXX'),power(2,level-1)),0,0,1) != 0
connect by
level <= (select log(2,to_number('&1','XXXXXXXXXXXXXXXX'))+2 from dual)
/