Перейти к содержимому
Последнее обновление

BIT_SHIFT_RIGHT

Описание​

Выполняет побитовый сдвиг вправо, при котором все биты двоичного числа сдвигаются вправо на заданное количество позиций. Эта операция обычно используется для обработки двоичных данных или эффективного выполнения математических вычислений (например, деления).

Логический сдвиг числа -1 вправо на одну позицию даёт BIGINT_MAX (9223372036854775807).

Сдвиг числа вправо на отрицательное количество позиций всегда даёт 0.

Синтаксис​

BIT_SHIFT_RIGHT(<x>, <bits>)

Параметры​

  • <x>: Число, к которому применяется сдвиг.
  • <bits>: Количество позиций для сдвига вправо. Это целое число, определяющее, на сколько позиций будет сдвинуто число <x>.

Возвращаемое значение​

Возвращает целое число, представляющее результат операции сдвига вправо.

Примеры​

  1. Пример 1
    select BIT_SHIFT_RIGHT(1024,3), BIT_SHIFT_RIGHT(-1,1), BIT_SHIFT_RIGHT(100, -1);
    +-------------------------+-----------------------+--------------------------+
    | BIT_SHIFT_RIGHT(1024,3) | BIT_SHIFT_RIGHT(-1,1) | BIT_SHIFT_RIGHT(100, -1) |
    +-------------------------+-----------------------+--------------------------+
    | 128 | 9223372036854775807 | 0 |
    +-------------------------+-----------------------+--------------------------+
  2. Аргумент NULL
    select BIT_SHIFT_RIGHT(1024, NULL), BIT_SHIFT_RIGHT(NULL, 3), BIT_SHIFT_RIGHT(NULL, NULL);
    +-----------------------------+--------------------------+-----------------------------+
    | BIT_SHIFT_RIGHT(1024, NULL) | BIT_SHIFT_RIGHT(NULL, 3) | BIT_SHIFT_RIGHT(NULL, NULL) |
    +-----------------------------+--------------------------+-----------------------------+
    | NULL | NULL | NULL |
    +-----------------------------+--------------------------+-----------------------------+