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