BIT_SHIFT_RIGHT
描述
用于 右移 位运算,通常用于将二进制数字的所有位向右移动指定的位数。这种操作通常用于处理二进制数据,或者用于一些数学计算(如除法的高效实现)。
对 -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 |
+-----------------------------+--------------------------+-----------------------------+