Compartir a través de


~ (NOT bit a bit) (Azure Stream Analytics)

Lleva a cabo una operación lógica NOT bit a bit en un valor entero.

Sintaxis

~ expression

Argumentos

expression

Es cualquier expresión válida de los tipos de datos bit o bigint. La expresión se trata como un número binario para la operación bit a bit.

Tipos de valor devuelto

bit si el valor de entrada es bit.

bigint si el valor de entrada es bigint.

Comentarios

El operador ~ bit a bit realiza un NOT lógico bit a bit en la expresión, tomando cada bit a su vez. Si la expresión tiene un valor de 0, los bits del conjunto de resultados se establecen en 1; de lo contrario, el bit del resultado se borra a un valor de 0. En otras palabras, los unos pasan a los ceros y los ceros pasan a unos.

Por ejemplo, la representación binaria de 170 es 0000 0000 1010 1010. La realización de la operación NOT bit a bit en este valor genera el resultado binario 1111 1111 0101 0101, que es decimal -171.

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

Ejemplos

Con un conjunto de datos de entrada común:

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
)

Aplicación del operador en expresiones de bits :

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

Devuelve:

bit0 bit1 bitN NOT0 NOT1 NOTnull
false true NULL true false NULL

Aplicación del operador en expresiones bigint :

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

Devuelve:

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

Validación de los tipos de salida:

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

Devuelve:

NOTtype_bit NOTtype_bigint
bit bigint

Consulte también