に最終更新
BIT_SHIFT_LEFT
説明
左シフト演算を実行し、二進数のすべてのビットを指定した桁数だけ左に移動します。 このビット演算は、バイナリデータの処理や効率的な数値計算によく使われます。
BIGINT 型の最大値 (9223372036854775807) を 一ビット左にシフトすると、結果は -2 になります。
構文
BIT_SHIFT_LEFT(<x>, <bits>)
パラメータ
<x>: シフトする数値。<bits>: 左にシフトする桁数。<x>を何桁移動するかを指定する整数です。
戻り値
左シフト演算の結果を整数で返します。
使用例
-
使用例 1
select BIT_SHIFT_LEFT(5, 2), BIT_SHIFT_LEFT(-5, 2), BIT_SHIFT_LEFT(9223372036854775807, 1);+----------------------+-----------------------+----------------------------------------+
| BIT_SHIFT_LEFT(5, 2) | BIT_SHIFT_LEFT(-5, 2) | BIT_SHIFT_LEFT(9223372036854775807, 1) |
+----------------------+-----------------------+----------------------------------------+
| 20 | -20 | -2 |
+----------------------+-----------------------+----------------------------------------+ -
NULL 引数
select BIT_SHIFT_LEFT(5, NULL), BIT_SHIFT_LEFT(NULL, 2), BIT_SHIFT_LEFT(NULL, NULL);+-------------------------+-------------------------+----------------------------+
| BIT_SHIFT_LEFT(5, NULL) | BIT_SHIFT_LEFT(NULL, 2) | BIT_SHIFT_LEFT(NULL, NULL) |
+-------------------------+-------------------------+----------------------------+
| NULL | NULL | NULL |
+-------------------------+-------------------------+----------------------------+