Bagikan melalui


~ (Bitwise TIDAK)

✅ Azure Stream Analytics ✅ Fabric Eventstream

Melakukan operasi NOT logis bitwise pada nilai bilangan bulat.

Sintaksis

~ expression

Argumen

ekspresi

Adalah ekspresi yang valid dari jenis data bit atau bigint. Ekspresi diperlakukan sebagai angka biner untuk operasi bitwise.

Jenis Kembalian

bit jika nilai input adalah bit.

bigint jika nilai inputnya besar.

Komentar

Operator ~ bitwise melakukan NOT logis bitwise pada 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.

Untuk ilustrasi, representasi biner 170 adalah 0000 0000 1010 1010. Melakukan operasi BITWISE NOT pada nilai ini menghasilkan hasil biner 1111 1111 0101 0101 0101, yang desimal -171.

(~170)
0000 0000 1010 1010
-------------------
1111 1111 0101 0101

Contoh

Dengan himpunan data input umum:

WITH MyCTE AS (
	SELECT
		CAST(0 AS BIT) AS bit0,
		CAST(1 AS BIT) AS bit1,
		CAST(NULL AS BIT) AS bitN,
		CAST(0 AS BIGINT) AS bigint0,
		CAST(1 AS BIGINT) AS bigint1,
		CAST(NULL AS BIGINT) AS bigintN
	FROM input
)

Menerapkan operator pada ekspresi bit :

SELECT
	bit0,
	bit1,
	bitN,
	~ bit0 AS NOT0,
	~ bit1 AS NOT1,
	~ bitN AS NOTnull
INTO bitNOT
FROM MyCTE

Pengembalian:

bit0 bit1 bitN NOT0 NOT1 NOTnull
tidak benar benar NOL benar tidak benar NOL

Menerapkan operator pada ekspresi bigint :

SELECT
	bigint0,
	bigint1,
	bigintN,
	~ bigint0 AS NOT0,
	~ bigint1 AS NOT1,
	~ bigintN AS NOTnull,
	~ 170 AS NOT170
INTO bigintNOT
FROM MyCTE

Pengembalian:

bit0 bit1 bitN NOT0 NOT1 NOTnull NOT170
0 1 NOL -1 -2 NOL -171

Memvalidasi jenis output:

SELECT
	GetType(~ bit0) AS NOTtype_bit,
	GetType(~ bigint0) AS NOTtype_bigint
INTO typesNOT
FROM MyCTE

Pengembalian:

NOTtype_bit NOTtype_bigint
sedikit bigint

Lihat Juga