メインコンテンツまでスキップ
バージョン: 26.x

BIT_SHIFT_RIGHT

説明

右シフトビット演算を実行します。これは2進数のすべてのビットを指定された位置数だけ右に移動させます。この演算は、バイナリデータの処理や効率的な数学計算(除算など)によく使用されます。

-1を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 |
    +-----------------------------+--------------------------+-----------------------------+