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

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

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

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

  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