Operator bitwise (Transact-SQL)
Berlaku untuk: Titik akhir analitik SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Platform System (PDW) SQL di Microsoft Fabric Warehouse di Microsoft Fabric
Operator bitwise melakukan manipulasi bit antara dua ekspresi salah satu jenis data dari kategori jenis data bilangan bulat.
Operator bitwise mengonversi dua nilai bilangan bulat menjadi bit biner, melakukan AND
operasi , , OR
atau NOT
pada setiap bit, menghasilkan hasil. Kemudian mengonversi hasilnya menjadi bilangan bulat.
Misalnya, bilangan bulat 170
dikonversi ke biner 1010 1010
.
Bilangan bulat 75
dikonversi ke biner 0100 1011
.
Operator | Matematika bitwise |
---|---|
AND Jika bit pada posisi apa pun keduanya 1 , hasilnya adalah 1 . |
1010 1010 = 1700100 1011 = 75----------------- 0000 1010 = 10 |
ATAU Jika salah satu bit pada posisi apa pun adalah 1 , hasilnya adalah 1 . |
1010 1010 = 1700100 1011 = 75----------------- 1110 1011 = 235 |
TIDAK Membalikkan nilai bit pada setiap posisi bit. |
1010 1010 = 170----------------- 0101 0101 = 85 |
Artikel berikut ini memberikan informasi selengkapnya tentang operator bitwise yang tersedia di Mesin Database:
- & (Bitwise AND)
- &= (Bitwise AND Assignment)
- | (Bitwise OR)
- |= (Bitwise ATAU Penugasan)
- ^ (Bitwise Eksklusif ATAU)
- ^= (Bitwise Eksklusif ATAU Penugasan)
- ~ (Bitwise NOT)
Operator bitwise berikut diperkenalkan di SQL Server 2022 (16.x):
Operand untuk operator bitwise dapat menjadi salah satu jenis data dari kategori tipe data bilangan bulat atau string biner (kecuali untuk jenis data gambar ), kecuali bahwa kedua operand tidak dapat menjadi salah satu jenis data dari kategori jenis data string biner. Tabel berikut ini memperlihatkan tipe data operand yang didukung.
Operand kiri | Operand kanan |
---|---|
biner | int, smallint, atau tinyint |
bit | int, smallint, tinyint, atau bit |
bigint | bigint, int, smallint, tinyint, binary, atau varbinary |
int | int, smallint, tinyint, binary, atau varbinary |
smallint | int, smallint, tinyint, binary, atau varbinary |
kecil | int, smallint, tinyint, binary, atau varbinary |
varbinary | int, smallint, atau tinyint |