Anda dapat menggunakan fungsi dan operator bit untuk memproses data biner. Topik ini menjelaskan sintaksis serta memberikan contoh penggunaan fungsi dan operator bit dalam AnalyticDB for MySQL.
BIT_COUNT: Mengonversi argumen menjadi nilai biner dan mengembalikan jumlah bit yang disetel ke 1 dalam nilai tersebut.
&: Operasi bitwise AND.
~: Membalikkan semua bit.
|: Operasi bitwise OR.
^: Operasi bitwise XOR.
>> (BITWISE_RIGHT_SHIFT): Menggeser nilai ke kanan.
<< (BITWISE_LEFT_SHIFT): Menggeser nilai ke kiri.
BIT_COUNT
bit_count(bigint x)
bit_count(double x)
bit_count(varchar x)Deskripsi: Fungsi ini mengonversi argumen menjadi nilai biner dan mengembalikan jumlah bit yang disetel ke
1dalam nilai tersebut.Tipe data nilai kembali: BIGINT.
Contoh:
select bit_count(2); +--------------+ | bit_count(2) | +--------------+ | 1 |select bit_count(pi()); +-----------------+ | bit_count(pi()) | +-----------------+ | 2 |select bit_count('123'); +------------------+| bit_count('123') | +------------------+ | 6 |
&
Deskripsi: Fungsi ini digunakan untuk operasi bitwise
AND.Tipe data nilai kembali: BIGINT.
Contoh:
select 12 & 15; +---------------------+ | bitwise_and(12, 15) | +---------------------+ | 12 |
~
Deskripsi: Fungsi ini membalikkan semua bit.
Tipe data nilai kembali: BIGINT.
Contoh:
select 2 & ~1; +--------------------------------+ | bitwise_and(2, bitwise_not(1)) | +--------------------------------+ | 2 |
|
Deskripsi: Fungsi ini digunakan untuk operasi bitwise
OR.Tipe data nilai kembali: BIGINT.
Contoh:
select 29 | 15; +--------------------+ | bitwise_or(29, 15) | +--------------------+ | 31 |
^
Deskripsi: Fungsi ini digunakan untuk operasi bitwise XOR.
Tipe data nilai kembali: BIGINT.
Contoh:
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)Deskripsi: Fungsi ini menggeser nilai ke kanan.
Tipe data nilai kembali: BIGINT.
Contoh:
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)Deskripsi: Fungsi ini menggeser nilai ke kiri.
Tipe data nilai kembali: BIGINT.
Contoh:
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 |