Megosztás a következőn keresztül:


~ (Bitenkénti NEM)

✅ Azure Stream Analytics ✅ Fabric Eventstream

Bitenkénti logikai NOT műveletet hajt végre egész számértéken.

Szemantika

~ expression

Érvek

kifejezés

Az adattípusok bit vagy bigint bármely érvényes kifejezése. A kifejezés bináris számként van kezelve a bitenkénti művelethez.

Visszatérési típusok

bit , ha a bemeneti érték bit.

bigint , ha a bemeneti érték bigint.

Megjegyzések

A ~ bitenkénti operátor egy bitenkénti logikai NEM a kifejezést hajtja végre, és minden bitet egymás után vesz fel. Ha a kifejezés értéke 0, az eredményhalmaz bitjei értéke 1; ellenkező esetben az eredmény bitje 0 értékre lesz törölve. Más szóval a nullák nullákra változnak, a nullák pedig a nullákra.

Illusztrációként a 170 bináris ábrázolása 0000 0000 1010 1010. Ha a bitenkénti NOT műveletet ezen az értéken hajtja végre, az 1111 1111 0101 0101 bináris eredményt hozza létre, amely decimális -171.

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

Példák

Egy közös bemeneti adatkészlettel:

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
)

Az operátor alkalmazása bitkifejezésekre :

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

Visszatérítések

bit0 bit1 bitN NOT0 NEM1 NOTnull
hamis igaz NULLA igaz hamis NULLA

Az operátor alkalmazása bigint kifejezésekre:

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

Visszatérítések

bit0 bit1 bitN NOT0 NEM1 NOTnull NOT170
0 1 NULLA -1 -2 NULLA -171

A kimeneti típusok érvényesítése:

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

Visszatérítések

NOTtype_bit NOTtype_bigint
egy kicsit bigint

Lásd még: