Побитовые выражения

Спецификация

 
<побитовое «И»>::=
&
<побитовое «ИЛИ»>::=
|
<побитовое «НЕ»>::=
~
<побитовое «ИСКЛЮЧАЮЩЕЕ ИЛИ»>::=
^

Синтаксические правила

  1. Допустимые типы <числового выражения> – BYTE, SMALLINT, INT и BIGINT.

  2. Результаты выполнения операции <побитовое «И»>:

    <побитовое «И»>01
    000
    101
  3. Результаты выполнения операции <побитовое «ИЛИ»>:

    <побитовое «ИЛИ»>01
    001
    111
  4. Результаты выполнения операции <побитовое «НЕ»>:

    <числовое выражение><побитовое «НЕ»>
    01
    10
  5. Результаты выполнения операции <побитовое «ИСКЛЮЧАЮЩЕЕ ИЛИ»>:

    <побитовое «ИСКЛЮЧАЮЩЕЕ ИЛИ»>01
    001
    110

Пример

create or replace table test_tab (i int);

insert into test_tab values (7);
insert into test_tab values (0);
insert into test_tab values (-7);

select i, i|0x11 as "OR", i&0x11 as "AND", ~i as "NOT", i^0x11 as "XOR" from test_tab;

 I|OR|AND|NOT|XOR
------------------
 7|23|  1| -8| 22
 0|17|  0| -1| 17
-7|-7| 17|  6|-24