Sdílet prostřednictvím


~ (Bitový NE) (Azure Stream Analytics)

Provede bitové logické operace NOT s celočíselnou hodnotou.

Syntaxe

~ expression

Argumenty

expression

Je jakýkoli platný výraz datových typů bit nebo bigint. Výraz je považován za binární číslo pro bitové operace.

Návratové typy

bit , pokud je vstupní hodnota bit.

bigint , pokud je vstupní hodnota bigint.

Poznámky

Bitový operátor ~ provádí bitový logický operátor NE ve výrazu a přebírá jednotlivé bity. Pokud výraz má hodnotu 0, bity v sadě výsledků jsou nastaveny na 1; v opačném případě se bit ve výsledku vymaže na hodnotu 0. Jinými slovy, jedniček se změní na nuly a nuly na jedničky.

Pro ilustraci, binární reprezentace 170 je 0000 0000 1010 1010. Provedení bitové operace NOT pro tuto hodnotu vytvoří binární výsledek 1111 1111 0101 0101, což je desítkové číslo -171.

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

Příklady

Se společnou vstupní datovou sadou:

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
)

Použití operátoru na bitové výrazy:

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

Vrací:

bit0 bit1 bitN NOT0 NOT1 Nenull
false (nepravda) true NULL true false (nepravda) NULL

Použití operátoru u výrazů bigint :

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

Vrací:

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

Ověřování typů výstupu:

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

Vrací:

NOTtype_bit NOTtype_bigint
bit bigint

Viz také