位函數與操作符用於處理位元據。本文介紹AnalyticDB for MySQL位函數和操作符的用法與樣本。
BIT_COUNT:系統先將參數轉換為二進位,然後返回二進位中1的個數。
&:按位AND。
~:反轉所有位。
|:按位OR。
^:按位異或。
>>(BITWISE_RIGHT_SHIFT):向右移位。
<<(BITWISE_LEFT_SHIFT):向左移位。
BIT_COUNT
bit_count(bigint x)
bit_count(double x)
bit_count(varchar x)命令說明:系統先將參數轉換為二進位,然後返回二進位中
1的個數。傳回值類型:BIGINT。
樣本:
select bit_count(2); +--------------+ | bit_count(2) | +--------------+ | 1 |select bit_count(pi()); +-----------------+ | bit_count(pi()) | +-----------------+ | 2 |select bit_count('123'); +------------------+| bit_count('123') | +------------------+ | 6 |
&
命令說明:按位
AND。傳回值類型:BIGINT。
樣本:
select 12 & 15; +---------------------+ | bitwise_and(12, 15) | +---------------------+ | 12 |
~
命令說明:反轉所有位。
傳回值類型:BIGINT。
樣本:
select 2 & ~1; +--------------------------------+ | bitwise_and(2, bitwise_not(1)) | +--------------------------------+ | 2 |
|
命令說明:按位
OR。傳回值類型:BIGINT。
樣本:
select 29 | 15; +--------------------+ | bitwise_or(29, 15) | +--------------------+ | 31 |
^
命令說明:按位異或。
傳回值類型:BIGINT。
樣本:
select 1 ^ 10; +--------------------+ | bitwise_xor(1, 10) | +--------------------+ | 11 |
>>(BITWISE_RIGHT_SHIFT)
bitwise_right_shift(double x, double y)
bitwise_right_shift(varchar x, varchar y)
bitwise_right_shift(bigint x, bigint y)命令說明:向右移位。
傳回值類型:BIGINT。
樣本:
select 3 >> 2; +---------------------------+ | bitwise_right_shift(3, 2) | +---------------------------+ | 0 |select 3.4 >> 23.2; +--------------------------------+ | bitwise_right_shift(3.4, 23.2) | +--------------------------------+ | 0 |
<<(BITWISE_LEFT_SHIFT)
bitwise_left_shift(double x, double y)
bitwise_left_shift(varchar x, varchar y)
bitwise_left_shift(bigint x, bigint y)命令說明:向左移位。
傳回值類型:BIGINT。
樣本:
SELECT 3 << 2; +--------------------------+ | bitwise_left_shift(3, 2) | +--------------------------+ | 12 |select '3' << '2'; +------------------------------+ | bitwise_left_shift('3', '2') | +------------------------------+ | 12 |select 3.4 << 23.2; +-------------------------------+ | bitwise_left_shift(3.4, 23.2) | +-------------------------------+ | 25165824 |