Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
BIT_ AND fungsi
ANDFungsi BIT _ menjalankan AND operasi bit-wise pada semua nilai dalam kolom atau ekspresi integer tunggal. Fungsi ini menggabungkan setiap bit dari setiap nilai biner yang sesuai dengan setiap nilai integer dalam ekspresi.
ANDFungsi BIT _ mengembalikan hasil 0
jika tidak ada bit diatur ke 1 di semua nilai. Jika satu atau lebih bit diatur ke 1 di semua nilai, fungsi mengembalikan nilai integer. Integer ini adalah angka yang sesuai dengan nilai biner untuk bit-bit tersebut.
Misalnya, tabel berisi empat nilai integer dalam kolom: 3, 7, 10, dan 22. Bilangan bulat ini direpresentasikan dalam bentuk biner sebagai berikut:
Bilangan Bulat | Nilai biner |
---|---|
3 | 11 |
7 | 111 |
10 | 1010 |
22 | 10110 |
ANDOperasi BIT _ pada dataset ini menemukan bahwa semua bit diatur ke 1
dalam second-to-last posisi saja. Hasilnya adalah nilai biner00000010
, yang mewakili nilai 2
integer. Oleh karena itu, AND fungsi BIT _ kembali2
.
Sintaks
BIT_AND ( [DISTINCT | ALL] expression )
Argumen
- ekspresi
-
Kolom target atau ekspresi tempat fungsi beroperasi. Ekspresi ini harus memilikiINT,INT2, atau tipe INT8 data. Fungsi mengembalikan setaraINT,INT2, atau tipe INT8 data.
- DISTINCT | ALL
-
Dengan argumenDISTINCT, fungsi menghilangkan semua nilai duplikat untuk ekspresi yang ditentukan sebelum menghitung hasilnya. Dengan argumenALL, fungsi mempertahankan semua nilai duplikat. ALLadalah default. Untuk informasi selengkapnya, lihat DISTINCTdukungan untuk agregasi bit-wise.
Contoh
Mengingat bahwa informasi bisnis yang bermakna disimpan dalam kolom integer, Anda dapat menggunakan fungsi bit-wise untuk mengekstrak dan mengumpulkan informasi tersebut. Kueri berikut menerapkan AND fungsi BIT _ ke LIKES kolom dalam tabel yang disebut USERLIKES dan mengelompokkan hasil menurut CITY kolom.
select city, bit_and(likes) from userlikes group by city order by city; city | bit_and --------------+--------- Los Angeles | 0 Sacramento | 0 San Francisco | 0 San Jose | 64 Santa Barbara | 192 (5 rows)
Anda dapat menafsirkan hasil ini sebagai berikut:
-
Nilai integer
192
untuk Santa Barbara diterjemahkan ke nilai biner.11000000
Dengan kata lain, semua pengguna di kota ini menyukai olahraga dan teater, tetapi tidak semua pengguna menyukai jenis acara lainnya. -
Integer
64
diterjemahkan menjadi.01000000
Jadi, bagi pengguna di San Jose, satu-satunya jenis acara yang mereka sukai adalah teater. -
Nilai
0
untuk tiga kota lainnya menunjukkan bahwa tidak ada “suka” yang dibagikan oleh semua pengguna di kota-kota tersebut.