- カテゴリ:
BITSHIFTRIGHT¶
数値式 n
のビットを右にシフトします。
- エイリアス:
BIT_SHIFTRIGHT
- こちらもご覧ください:
構文¶
BITSHIFTRIGHT( <expr1> , <n> )
引数¶
式1
この式は、
INTEGER
にキャストできるデータ型に評価される必要があります。n
シフトするビット数です。
使用上の注意¶
引数のデータ型が数値で
INTEGER
ではない場合(FLOAT、 DECIMALなど)、引数はINTEGER
にキャストされます。引数のデータ型が文字列(
VARCHAR
など)の場合、可能であれば引数はINTEGER
にキャストされます。例えば、文字列「12.3」は12にキャストされます。値をINTEGER
にキャストできない場合、値は NULLとして扱われます。引数 がNULLの場合、結果は NULLになります。
例¶
この例は、 BITSHIFTLEFT
および BITSHIFTRIGHT
の使用方法を示しています。
簡単なテーブルとデータを作成します。
CREATE TABLE bits (ID INTEGER, bit1 INTEGER, bit2 INTEGER);INSERT INTO bits (ID, bit1, bit2) VALUES ( 11, 1, 1), -- Bits are all the same. ( 24, 2, 4), -- Bits are all different. ( 42, 4, 2), -- Bits are all different. ( 1624, 16, 24), -- Bits overlap. (65504, 0, 65504), -- Lots of bits (all but the low 6 bits) ( 0, NULL, NULL) -- No bits ;クエリを実行します。
SELECT bit1, bit2, BITSHIFTLEFT(bit1, 1), BITSHIFTRIGHT(bit2, 1) FROM bits;出力:
+------+-------+-----------------------+------------------------+ | BIT1 | BIT2 | BITSHIFTLEFT(BIT1, 1) | BITSHIFTRIGHT(BIT2, 1) | |------+-------+-----------------------+------------------------| | 1 | 1 | 2 | 0 | | 2 | 4 | 4 | 2 | | 4 | 2 | 8 | 1 | | 16 | 24 | 32 | 12 | | 0 | 65504 | 0 | 32752 | | NULL | NULL | NULL | NULL | +------+-------+-----------------------+------------------------+