Partager via


| (OR au niveau du bit) (Azure Stream Analytics)

Effectue une opération OR logique au niveau du bit entre deux valeurs entières, en évaluant chaque bit correspondant des deux expressions.

Syntaxe

expression | expression

Arguments

expression

Expression valide des types de données bit ou bigint. L’expression est traitée comme un nombre binaire pour l’opération au niveau du bit.

Types de retour

bit si les deux valeurs d’entrée sont des bits.

bigint si une ou les deux valeurs d’entrée sont bigint.

Remarques

Le | l’opérateur au niveau du bit effectue un OR logique au niveau du bit entre les deux expressions, en prenant chaque bit correspondant pour les deux expressions. Les bits dans le résultat sont définis sur 1 si ou les deux bits (pour le bit actuel en cours de résolution) dans les expressions d’entrée ont une valeur de 1 ; sinon, le bit dans le résultat est défini sur 0.

À titre d’illustration, la représentation binaire de 170 est 0000 0000 1010 1010. La représentation binaire de 75 est 0000 0000 0100 1011. L’exécution de l’opération AND au niveau du bit sur ces deux valeurs produit le résultat binaire 0000 0000 1110 1011, qui est décimal 235.

(170 | 75)
0000 0000 1010 1010
0000 0000 0100 1011
-------------------
0000 0000 1110 1011

Il est à noter que le cast d’une valeur FLOAT en BIGINT et l’application d’un opérateur au niveau du bit sur celle-ci ne retournent généralement pas le même résultat que le cast dans BIT et l’application du même opérateur :

  • Première option : 170 | 75,0 => 170 | 75 = 235
  • Deuxième option : 170 | 75,0 => 170 | 1 = 171

Consultez la Vue d’ensemble des types de données pour connaître les règles de conversion en bits.

Exemples

Avec un jeu de données d’entrée commun :

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
)

Application de l’opérateur sur les expressions de bits :

SELECT
	bit0,
	bit1,
	bitN,
	bit0 | bit0 AS OR00,
	bit0 | bit1 AS OR01,
	bit1 | bit0 AS OR10,
	bit1 | bit1 AS OR11,
	bitN | bit0 AS ORnull
INTO bitOR
FROM MyCTE

Retourne les informations suivantes :

bit0 bit1 bitN OR00 OR01 OR10 OR11 ORnull
false true NULL false true true true NULL

Application de l’opérateur sur les expressions bigint :

SELECT
	bigint0,
	bigint1,
	bigintN,
	bigint0 | bigint0 AS OR00,
	bigint0 | bigint1 AS OR01,
	bigint1 | bigint0 AS OR10,
	bigint1 | bigint1 AS OR11,
	bigintN | bigint1 AS ORnull,
	170 | 75 AS ORvalues
INTO bigintOR
FROM MyCTE

Retourne les informations suivantes :

bigint0 bigint1 bigintN OR00 OR01 OR10 OR11 ORnull Valeurs OR
0 1 NULL 0 1 1 1 NULL 235

Validation des types de sortie :

SELECT
	GetType(bit0 | bit0) AS ORtype_bit,
	GetType(bigint0 | bigint0) AS ORtype_bigint,
	GetType(bit0 | bigint0) AS ORtype_mixed
INTO typesOR
FROM MyCTE

Retourne les informations suivantes :

ORtype_bit ORtype_bigint ORtype_mixed
bit bigint bigint

Voir aussi