Ekstensi varbit yang tersedia di edisi PostgreSQL Community hanya mendukung fungsi operasi tipe BIT dasar. Ekstensi varbitx pada PolarDB for PostgreSQL (Kompatibel dengan Oracle) mendukung berbagai operasi tipe BIT untuk skenario yang lebih kompleks, seperti rekomendasi profil pengguna secara real-time, kontrol akses iklan, dan manajemen tiket.
Fungsi
Fungsi | Deskripsi |
| Mengambil sejumlah bit c tertentu mulai dari posisi b dan mengembalikan string tipe VARBIT. Contoh: |
| Mengubah nilai bit yang ditentukan oleh larik subskrip d menjadi nilai b (0 atau 1), serta mengisi bit yang melebihi panjang asli dengan nilai c (0 atau 1). Contoh: |
| Menghitung jumlah nilai b (0 atau 1) yang dimulai dari posisi c di antara sejumlah bit d tertentu. Bit yang melampaui panjang yang ditentukan tidak dihitung. Contoh: |
| Menghitung jumlah total nilai b (0 atau 1). Contoh: |
| Mengisi sejumlah bit b tertentu dengan nilai a (0 atau 1). Contoh: |
| Mengambil persentase acak c dari sejumlah bit a tertentu, serta mengisi bit yang diperoleh secara acak dengan nilai b (0 atau 1). Contoh: |
| Mengembalikan larik subskrip yang menunjukkan posisi bit dengan nilai b (0 atau 1). Subskrip dimulai dari 0. Jika nilai c adalah true, subskrip dikembalikan dalam urutan positif; jika false, dalam urutan negatif. Contoh: |
| Mengembalikan larik subskrip yang menunjukkan posisi bit dengan nilai b (0 atau 1). Jumlah subskrip dalam larik adalah c. Subskrip dimulai dari 0. Jika nilai d adalah true, subskrip dikembalikan dalam urutan positif; jika false, dalam urutan negatif. Contoh: |
| Mengambil sejumlah bit c tertentu mulai dari posisi b, mengidentifikasi bit dengan nilai d (0 atau 1) di antara bit yang diperoleh, dan mengembalikan larik subskrip yang menunjukkan posisi bit tersebut. Contoh: |
| Mengambil bit yang ditentukan oleh larik subskrip c, mengidentifikasi bit dengan nilai b (0 atau 1) di antara bit yang diperoleh, dan mengembalikan larik subskrip yang menunjukkan posisi bit tersebut. Bit yang tidak termasuk dalam larik subskrip c tidak dihitung. Contoh: |
| Mengubah nilai bit yang ditentukan oleh larik subskrip d menjadi nilai b (0 atau 1), serta mengisi bit yang melampaui panjang asli dengan nilai c (0 atau 1). Jumlah bit yang dikembalikan adalah e. Contoh: |
| Mengubah nilai bit yang ditentukan oleh larik subskrip d menjadi nilai b (0 atau 1), serta mengisi bit yang melampaui panjang asli dengan nilai c (0 atau 1). Fungsi ini mengembalikan string bit dan larik subskrip yang menunjukkan posisi bit yang nilainya diubah. Contoh: |
| Mengubah nilai bit yang ditentukan oleh larik subskrip d menjadi nilai b (0 atau 1), serta mengisi bit yang melampaui panjang asli dengan nilai c (0 atau 1). Fungsi ini mengembalikan string bit dan larik subskrip yang menunjukkan posisi bit yang nilainya diubah. Fungsi ini mengembalikan hasil setelah mengubah nilai untuk total e bit. Contoh: |
| Menghitung jumlah nilai b (0 atau 1) di antara bit yang ditentukan oleh larik subskrip c. Contoh: |
Penggunaan
Buat ekstensi varbitx:
CREATE EXTENSION varbitx;Hapus ekstensi varbitx:
DROP EXTENSION varbitx;Panggil fungsi-fungsi:
Anda dapat mengeksekusi pernyataan
SELECT <function>untuk memanggil fungsi-fungsi tersebut. Contohnya:Fungsi bit_count:
select bit_count('1111000011110000', 1, 5, 4);Hasil sampel:
bit_count ----------- 1 (1 row)Fungsi set_bit_array_record:
select set_bit_array_record('111100001111', 1, 0, array[1,4,5,6,7], 2);Hasil sampel:
set_bit_array_record ------------------------ (111111001111,"{4,5}") (1 row)
Untuk informasi lebih lanjut tentang fungsi-fungsi dan deskripsinya, lihat Fungsi yang didukung.