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


~ (Bitenkénti NEM) (Azure Stream Analytics)

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

Szintaxis

~ expression

Argumentumok

expression

Az adattípusok bármely érvényes kifejezése bit vagy bigint. A rendszer bináris számként kezeli a kifejezést 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 bitenkénti logikai NEM műveletet hajt végre a kifejezésen, és mindegyik bitet egymás után veszi. Ha a kifejezés értéke 0, az eredményhalmaz bitjei 1-re vannak állítva; ellenkező esetben az eredmény bitje 0-ra 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 ezen az értéken bitenkénti NOT műveletet hajt végre, a bináris eredmény 1111 1111 0101 0101 lesz, ami 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ési érték:

bit0 bit1 bitN NOT0 NEM1 NOTnull
hamis true NULL true hamis NULL

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ési érték:

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

A kimeneti típusok ellenőrzése:

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

Visszatérési érték:

NOTtype_bit NOTtype_bigint
bit bigint

Lásd még: