メインコンテンツまでスキップ

BIT_SHIFT_LEFT

説明

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

BIGINT型の最大値(9223372036854775807)を1位置左にシフトすると、結果は-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 |
    +-------------------------+-------------------------+----------------------------+