Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Database SQL di Azure
Istanza gestita di SQL di Azure
Azure Synapse Analytics
Piattaforma di analisi (PDW)
Endpoint di analisi SQL in Microsoft Fabric
Magazzino in Microsoft Fabric
Database SQL in Microsoft Fabric
Esegue un'operazione con OR esclusivo bit per bit tra due valori integer.
Convenzioni relative alla sintassi Transact-SQL
Syntax
expression ^ expression
Arguments
expression
Qualsiasi espressione valida di qualsiasi tipo di dati della categoria Integer o del tipo di dati bit, binary o varbinary.
expression viene considerato un numero binario per l'operazione bit per bit.
Note
In un'operazione bit per bit un solo valore expression può avere il tipo di dati binary o varbinary.
Tipi di risultati
int se i valori di input sono int.
smallint se i valori di input sono smallint.
tinyint se i valori di input sono tinyint.
Remarks
L'operatore bit per bit ^ esegue un'operazione logica OR esclusiva 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 un solo bit (per il bit in fase di risoluzione) nelle espressioni di input è uguale a 1. Se entrambi i bit hanno valore 0 o 1, il bit del risultato corrispondente verrà 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 caso il tipo expressionsmallint viene convertito in int.
Examples
Nell'esempio seguente viene creata una tabella che usa il tipo di dati int per archiviare i valori originali e vengono inseriti due valori in una sola 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 esclusivo bit per bit sulle colonne a_int_value e b_int_value.
SELECT a_int_value ^ b_int_value
FROM bitwise;
GO
Set di risultati:
-----------
225
(1 row(s) affected)
La rappresentazione binaria di 170 (a_int_value o A) è 0000 0000 1010 1010. La rappresentazione binaria di 75 (b_int_value o B) è 0000 0000 0100 1011. L'esecuzione dell'operazione con OR esclusivo bit per bit su questi due valori genera il risultato binario 0000 0000 1110 0001, che corrisponde al valore decimale 225.
(A ^ B)
0000 0000 1010 1010
0000 0000 0100 1011
-------------------
0000 0000 1110 0001
Vedere anche
Espressioni (Transact-SQL)
Operatori (Transact-SQL)
Operatori bit per bit (Transact-SQL)
^= (assegnazione OR esclusivo bit per bit) (Transact-SQL)
Operatori composti (Transact-SQL)