に最終更新
BIT_SHIFT_RIGHT
説明
右シフト演算を実行し、二進数のすべてのビットを指定した桁数だけ右に移動します。 この演算は、バイナリデータの処理や除算などの効率的な数値計算によく使われます。
-1 を 一ビット論理右シフトすると、BIGINT_MAX (9223372036854775807) になります。
負の値をシフト量に指定して右シフトすると、結果は常に 0 になります。
構文
BIT_SHIFT_RIGHT(<x>, <bits>)
パラメータ
<x>: シフトする数値。<bits>: 右にシフトする桁数。<x>を何桁移動するかを指定する整数です。
戻り値
右シフト演算の結果を整数で返します。
使用例
- 使用例 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 |
+-------------------------+-----------------------+--------------------------+ - 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 |
+-----------------------------+--------------------------+-----------------------------+