| (OR bit per bit) (Transact-SQL)

Si applica a: SQL Server Azure SQL DatabaseIstanza gestita di SQL di AzureAzure Synapse Analytics AnalyticsPlatform System (PDW)

Esegue un'operazione con OR logico bit per bit tra i due valori interi specificati convertiti in espressioni binarie in istruzioni Transact-SQL.

Convenzioni della sintassi Transact-SQL

Sintassi

expression | expression  

Nota

Per visualizzare la sintassi Transact-SQL per SQL Server 2014 e versioni precedenti, vedere Documentazione delle versioni precedenti.

Argomenti

expression
Qualsiasi valore expression valido della categoria dei tipi di dati Integer oppure dei tipi di dati bit, binary o varbinary. expression viene considerato un numero binario per l'operazione bit per bit.

Nota

In un'operazione bit per bit un solo valore expression può avere il tipo di dati binary o varbinary.

Tipi restituiti

Restituisce un tipo int se i valori di input sono int, un tipo smallint se i valori di input sono smallint o un valore tinyint se i valori di input sono tinyint.

Osservazioni

L'operatore | esegue un'operazione con OR logico bit per bit tra due espressioni, considerando tutti i bit corrispondenti in entrambe le espressioni. I bit nel risultato sono impostati su 1 se il valore di uno o di entrambi i bit (per il bit in fase di risoluzione) delle espressioni di input è uguale a 1. Se nessuno dei bit è uguale a 1, il bit del risultato è impostato su 0.

Se alle due espressioni viene applicato un tipo di dati Integer diverso, ad esempio se il tipo expression a sinistra è smallint e il tipo expression a destra è int, l'argomento del tipo di dati di livello inferiore viene convertito nel tipo di dati di livello superiore. In questo esempio smallintexpression viene convertito in int.

Esempi

Nell'esempio seguente viene creata una tabella con tipi di dati int per la visualizzazione dei valori originali. La tabella viene quindi inserita in un'unica riga.

CREATE TABLE bitwise (  
  a_int_value INT NOT NULL,  
  b_int_value INT NOT NULL);  
GO  
INSERT bitwise VALUES (170, 75);  
GO  

La query seguente esegue l'operazione con OR logico bit per bit nelle colonne a_int_value e b_int_value.

SELECT a_int_value | b_int_value  
FROM bitwise;  
GO  

Questo è il set di risultati.

-----------   
235           
  
(1 row(s) affected)  

La rappresentazione binaria di 170 (a_int_value o A nell'esempio seguente) è 0000 0000 1010 1010. La rappresentazione binaria di 75 (b_int_value o B nell'esempio seguente) è 0000 0000 0100 1011. L'operazione con OR logico bit per bit eseguita su questi due valori restituisce il risultato binario 0000 0000 1110 1011, ovvero 235 decimale.

(A | B)  
0000 0000 1010 1010  
0000 0000 0100 1011  
-------------------  
0000 0000 1110 1011  

Vedere anche

Operatori (Transact-SQL)
Operatori bit per bit (Transact-SQL)
| = (assegnazione OR bit per bit) (Transact-SQL)
Operatori composti (Transact-SQL)