Aggregate
DuckDB
BIT_XOR
Melakukan operasi bitwise XOR (exclusive OR) pada semua nilai dalam grup. Bit bernilai 1 jika jumlah nilai dengan bit tersebut bernilai 1 adalah GANJIL.
Tipe hasil:
Sama dengan tipe input (INTEGER/BIGINT)Diperbarui: 6 Jan 2026Syntax
SQL
BIT_XOR(expression)Parameter
expressionINTEGER/BIGINTwajib
Kolom atau ekspresi integer untuk operasi bitwise XOR
Contoh Penggunaan
Menghitung Checksum Sederhana
SQL
1 SELECT 2 batch_id, 3 BIT_XOR(record_hash) as checksum 4 FROM data_records 5 GROUP BY batch_id;
Membuat checksum dari XOR semua hash untuk validasi integritas data.
Hasil
| batch_id | checksum |
|---|---|
| B001 | 284756123 |
| B002 | 0 (semua hash berpasangan) |
Deteksi Nilai yang Muncul Ganjil Kali
SQL
1 SELECT BIT_XOR(value) as odd_occurrence 2 FROM ( 3 SELECT 5 as value UNION ALL 4 SELECT 3 UNION ALL 5 SELECT 5 UNION ALL 6 SELECT 7 UNION ALL 7 SELECT 3 8 );
5 dan 3 muncul 2x (genap), 7 muncul 1x (ganjil). Hasil = 7.
Hasil
| odd_occurrence |
|---|
| 7 |
Parity Check per Grup
SQL
1 SELECT 2 transaction_date, 3 BIT_XOR(transaction_id) as parity, 4 CASE 5 WHEN BIT_XOR(transaction_id) = 0 THEN 'Even count' 6 ELSE 'Odd count detected' 7 END as parity_status 8 FROM transactions 9 GROUP BY transaction_date;
Menggunakan XOR untuk parity checking transaksi harian.
Hasil
| transaction_date | parity | parity_status |
|---|---|---|
| 2024-01-15 | 0 | Even count |
| 2024-01-16 | 1247 | Odd count detected |