Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Sistem Platform Analitik (PDW)
Titik akhir analitik SQL di Microsoft Fabric
Gudang di Microsoft Fabric
Database SQL di Microsoft Fabric
Melakukan operasi logis NOT bitwise pada nilai bilangan bulat.
Syntax
~ expression
Arguments
expression
Ekspresi valid apa pun dari salah satu jenis data dari kategori jenis data bilangan bulat, bit, atau jenis data biner atau varbinary. ekspresi diperlakukan sebagai angka biner untuk operasi bitwise.
Note
Hanya satu ekspresi yang dapat berupa jenis data biner atau varbinary dalam operasi bitwise.
Tipe pengembalian
int jika nilai input adalah int.
smallint jika nilai input kecil.
tinyint jika nilai inputnya kecil.
bit jika nilai input bit.
Remarks
Operator ~ bitwise melakukan logis NOT bitwise untuk ekspresi, mengambil setiap bit secara bergantian. Jika ekspresi memiliki nilai 0, bit dalam tataan hasil diatur ke 1. Jika tidak, bit dalam hasil dibersihkan ke nilai 0. Dengan kata lain, yang diubah menjadi nol dan nol diubah menjadi nol.
Important
Ketika Anda melakukan segala jenis operasi bitwise, panjang penyimpanan ekspresi yang digunakan dalam operasi bitwise penting. Kami menyarankan agar Anda menggunakan jumlah byte yang sama ini saat menyimpan nilai. Misalnya, menyimpan nilai desimal 5 sebagai tinyint, smallint, atau int menghasilkan nilai yang disimpan dengan jumlah byte yang berbeda: tinyint menyimpan data menggunakan 1 byte; smallint menyimpan data menggunakan 2 byte, dan int menyimpan data menggunakan 4 byte. Oleh karena itu, melakukan operasi bitwise pada nilai desimal int dapat menghasilkan hasil yang berbeda dari yang menggunakan terjemahan biner atau heksadesimal langsung, terutama ketika ~ operator (bitwise NOT) digunakan. Operasi bitwise NOT mungkin terjadi pada variabel dengan panjang yang lebih pendek. Dalam hal ini, ketika panjang yang lebih pendek dikonversi ke variabel jenis data yang lebih panjang, bit dalam 8 bit atas mungkin tidak diatur ke nilai yang diharapkan. Kami menyarankan agar Anda mengonversi variabel jenis data yang lebih kecil ke jenis data yang lebih besar, lalu melakukan NOT operasi pada hasilnya.
Examples
Contoh berikut membuat tabel menggunakan tipe data int untuk menyimpan nilai dan menyisipkan dua nilai ke dalam satu baris.
CREATE TABLE bitwise
(
a_int_value INT NOT NULL,
b_int_value INT NOT NULL
);
GO
INSERT bitwise
VALUES (170, 75);
GO
Kueri berikut melakukan bitwise NOT pada a_int_value kolom dan b_int_value .
SELECT ~a_int_value AS NotA,
~b_int_value AS NotB
FROM bitwise;
Berikut kumpulan hasilnya.
NotA NotB
----- -----
-171 -76
Representasi biner 170 (a_int_value atau A) adalah 0000 0000 0000 0000 0000 0000 1010 1010. Melakukan operasi bitwise NOT pada nilai ini menghasilkan hasil 1111 1111 1111 1111 1111 1111 0101 0101biner , yaitu desimal -171. Representasi biner untuk 75 adalah 0000 0000 0000 0000 0000 0000 0100 1011. Melakukan operasi bitwise NOT menghasilkan 1111 1111 1111 1111 1111 1111 1011 0100, yaitu desimal -76.
(~A)
0000 0000 0000 0000 0000 0000 1010 1010
---------------------------------------
1111 1111 1111 1111 1111 1111 0101 0101
(~B)
0000 0000 0000 0000 0000 0000 0100 1011
---------------------------------------
1111 1111 1111 1111 1111 1111 1011 0100