Bagikan melalui


~ (Bitwise NOT) (Azure Stream Analytics)

Melakukan operasi NOT logis bitwise pada nilai bilangan bulat.

Sintaks

~ expression

Argumen

ekspresi

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

Jenis Pengembalian

bit jika nilai input adalah bit.

bigint jika nilai inputnya besar.

Keterangan

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

Sebagai ilustrasi, representasi biner 170 adalah 0000 0000 1010 1010. Melakukan operasi BITWISE NOT pada nilai ini menghasilkan hasil biner 1111 1111 0101 0101, yaitu 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

Menampilkan:

bit0 bit1 bitN NOT0 NOT1 NOTnull
salah TRUE NULL TRUE salah NULL

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

Menampilkan:

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

Memvalidasi jenis output:

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

Menampilkan:

NOTtype_bit NOTtype_bigint
bit bigint

Lihat juga