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

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

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

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

  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