Delen via


~ (Bitwise NOT) (Azure Stream Analytics)

Voert een logische NOT-bitgewijze bewerking uit op een geheel getal.

Syntaxis

~ expression

Argumenten

expression

Is een geldige expressie van de gegevenstypen bit of bigint. Expressie wordt behandeld als een binair getal voor de bitsgewijze bewerking.

Retourtypen

bit als de invoerwaarde bit is.

bigint als de invoerwaarde bigint is.

Opmerkingen

De operator ~ bitwise voert een bitwise logische NOT uit op de expressie, waarbij elke bit beurt beurtelings wordt gebruikt. Als expressie een waarde van 0 heeft, worden de bits in de resultatenset ingesteld op 1; Anders wordt de bit in het resultaat gewist tot een waarde van 0. Met andere woorden, enen worden gewijzigd in nullen en nullen in enen.

Ter illustratie is de binaire weergave van 170 0000 0000 1010 1010. Het uitvoeren van de bitwise NOT-bewerking op deze waarde produceert het binaire resultaat 1111 1111 0101 0101, dat decimaal -171 is.

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

Voorbeelden

Met een algemene invoergegevensset:

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
)

De operator toepassen op bit-expressies :

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

Retourneert:

bit0 bit1 bitN NOT0 NOT1 NOTnull
onjuist true NULL waar onjuist NULL

De operator toepassen op bigint-expressies :

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

Retourneert:

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

De uitvoertypen valideren:

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

Retourneert:

NOTtype_bit NOTtype_bigint
bit bigint

Zie ook