跳到主要内容

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 |
    +-------------------------+-------------------------+----------------------------+