Freigeben über


~ (Bitweises NOT)

✅ Azure Stream Analytics ✅ Fabric Eventstream

Führt einen bitweisen logischen NOT-Vorgang für einen ganzzahligen Wert aus.

Syntax

~ expression

Argumente

Ausdruck

Ist ein beliebiger gültiger Ausdruck der Datentypen Bit oder Bigint. Der Ausdruck wird als binäre Zahl für den bitweisen Vorgang behandelt.

Rückgabetypen

bit , wenn der Eingabewert bit ist.

bigint , wenn der Eingabewert groß ist.

Bemerkungen

Der ~ bitweise Operator führt eine bitweise logische NOT für den Ausdruck aus, wobei jedes Bit wiederum in Anspruch genommen wird. Wenn der Ausdruck den Wert 0 hat, werden die Bits im Resultset auf 1 festgelegt. andernfalls wird das Bit im Ergebnis auf einen Wert von 0 gelöscht. Mit anderen Worten, diejenigen werden in Nullen geändert, und Nullen werden zu nullen geändert.

Zur Veranschaulichung ist die binäre Darstellung von 170 0000 0000 1010 1010. Durch Ausführen des bitweisen NOT-Vorgangs für diesen Wert wird das binäre Ergebnis 1111 1111 0101 0101 erzeugt, das dezimal -171 ist.

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

Beispiele

Mit einem allgemeinen Eingabe-Dataset:

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
)

Anwenden des Operators auf Bitausdrücke :

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

Rückgabewerte:

bit0 bit1 bitN NOT0 NOT1 NOTnull
Falsch Wahr NULL Wahr Falsch NULL

Anwenden des Operators auf bigint-Ausdrücke :

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

Rückgabewerte:

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

Überprüfen der Ausgabetypen:

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

Rückgabewerte:

NOTtype_bit NOTtype_bigint
Bit bigint

Siehe auch