bit_shift_right_logical
bit_shift_right
概要
数値式のバイナリ表現を指定されたビット数だけ右にシフトします。
この関数は算術右シフトを行い、ビット長は変化せず、最下位ビットが破棄され、符号ビットが高位ビットとして使用されます。例えば、10101
を1ビット右にシフトすると、11010
になります。
構文
bit_shift_right(値, シフト数)
パラメータ
値
:シフトする値または数値式です。サポートされるデータ型はTINYINT、SMALLINT、INT、BIGINT、LARGEINTです。
シフト数
:シフトするビット数です。サポートされるデータ型はBIGINTです。サポートされるデ ータ型はBIGINTです。
返り値
値
と同じ型の値が返されます。
使用上の注意
例
数値をシフトするためにこの関数を使用します。
SELECT bit_shift_right(2, 1);
+-----------------------+
| bit_shift_right(2, 1) |
+-----------------------+
| 1 |
+-----------------------+
SELECT bit_shift_right(2.2, 1);
+-------------------------+
| bit_shift_right(2.2, 1) |
+-------------------------+
| 1 |
+-------------------------+
SELECT bit_shift_right("2", 1);
+-------------------------+
| bit_shift_right('2', 1) |
+-------------------------+
| 1 |
+-------------------------+
SELECT bit_shift_right(-2, 1);
+------------------------+
| bit_shift_right(-2, 1) |
+------------------------+
| -1 |
+------------------------+