Delen via


~ (Bitwise NIET)

✅ Azure Stream Analytics ✅ Fabric Eventstream

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

Syntaxis

~ expression

Argumenten

expressie

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 bitsgewijze logische NOT uit voor de expressie, waarbij elke bit op zijn beurt wordt gebruikt. Als de 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, degenen worden gewijzigd in nullen en nullen worden gewijzigd in nullen.

Ter illustratie is de binaire weergave van 170 0000 0000 1010 1010. Het uitvoeren van de bitsgewijze 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 bitexpressies :

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

Retouren

bit0 bit1 bitN NOT0 NOT1 NOTnull
onwaar waar NUL waar onwaar NUL

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

Retouren

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

De uitvoertypen valideren:

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

Retouren

NOTtype_bit NOTtype_bigint
beetje Bigint

Zie ook