Aggregate

BIT_XOR

DuckDBDuckDB

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 2026

Syntax

SQL
BIT_XOR(expression)

Parameter

expressionINTEGER/BIGINTwajib

Kolom atau ekspresi integer untuk operasi bitwise XOR

Contoh Penggunaan

Menghitung Checksum Sederhana

SQL
1SELECT
2 batch_id,
3 BIT_XOR(record_hash) as checksum
4FROM data_records
5GROUP BY batch_id;

Membuat checksum dari XOR semua hash untuk validasi integritas data.

Hasil
batch_idchecksum
B001284756123
B0020 (semua hash berpasangan)

Deteksi Nilai yang Muncul Ganjil Kali

SQL
1SELECT BIT_XOR(value) as odd_occurrence
2FROM (
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
1SELECT
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
8FROM transactions
9GROUP BY transaction_date;

Menggunakan XOR untuk parity checking transaksi harian.

Hasil
transaction_dateparityparity_status
2024-01-150Even count
2024-01-161247Odd count detected

Fungsi Terkait