メインコンテンツまでスキップ
に最終更新

BIT_SHIFT_LEFT

説明​

左シフト演算を実行し、二進数のすべてのビットを指定した桁数だけ左に移動します。 このビット演算は、バイナリデータの処理や効率的な数値計算によく使われます。

BIGINT 型の最大値 (9223372036854775807) を 一ビット左にシフトすると、結果は -2 になります。

構文​

BIT_SHIFT_LEFT(<x>, <bits>)

パラメータ​

  • <x>: シフトする数値。
  • <bits>: 左にシフトする桁数。<x> を何桁移動するかを指定する整数です。

戻り値​

左シフト演算の結果を整数で返します。

使用例​

  1. 使用例 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 |
    +----------------------+-----------------------+----------------------------------------+
  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 |
    +-------------------------+-------------------------+----------------------------+