- 카테고리:
BITSHIFTRIGHT¶
숫자 식의 비트를 오른쪽으로 n
자리 이동합니다.
- 별칭:
BIT_SHIFTRIGHT
- 참고 항목:
구문¶
BITSHIFTRIGHT( <expr1> , <n> )
인자¶
expr1
이 식은
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 ORDER BY bit1;출력:
+------+-------+-----------------------+------------------------+ | BIT1 | BIT2 | BITSHIFTLEFT(BIT1, 1) | BITSHIFTRIGHT(BIT2, 1) | |------+-------+-----------------------+------------------------| | 0 | 65504 | 0 | 32752 | | 1 | 1 | 2 | 0 | | 2 | 4 | 4 | 2 | | 4 | 2 | 8 | 1 | | 16 | 24 | 32 | 12 | | NULL | NULL | NULL | NULL | +------+-------+-----------------------+------------------------+