with bits as (select rownum-1 as bit from all_tables where rownum<3)
select b1.bit, b2.bit
from bits b1, bits b2
O resultado é uma tabela bastante simples, com os quatro números possíveis de dois dígitos binários.A primeira aplicação (embora redundante, porque o Oracle já me oferece alternativa) é a de converter números para a base 16 (que é uma tarefa bastante comum na minha ponta da internet).
Minha nem tão elegante solução é esta:
select byte1||byte2 from (
with bytes as (select decode(rownum-1,
least(rownum-1,9), to_char(rownum-1),
chr(rownum-1+65-10)) as byte
from all_tables where rownum<17)
select b1.byte byte1, b2.byte byte2, rownum-1 valor
from bytes b1, bytes b2
) where valor=68
A consulta produz, conforme esperado, o valor 44.
Nenhum comentário:
Postar um comentário