^ (Bitowe lub wyłączności) (języka Transact-SQL)
Wykonuje operację OR wyłączne bitowe między dwiema wartościami liczby całkowitej.
expression ^ expression
Argumenty
expression
Is any valid expression of any one of the data types of the integer data type category, or the bit, or the binary or varbinary data types.expression is treated as a binary number for the bitwise operation.Uwaga
Tylko jeden expression może być: binary lub varbinary Typ danych w operacja bitowa.
Typy wynik
int w przypadku wartości wejściowych int.
smallint w przypadku wartości wejściowych smallint.
tinyint w przypadku wartości wejściowych tinyint.
Remarks
The ^ bitwise operator performs a bitwise logical exclusive OR between the two expressions, taking each corresponding bit for both expressions.Bity w wyniku zestaw 1 w przypadku obu (ale nie oba na raz) bity (dla bieżącego bit zamieniana) w danych wejściowych wyrażenia mają wartość 1.Jeśli oba bity są równe 0 lub 1 są oba bity, bit w wyniku jest czyszczona na wartość 0.
Jeśli wyrażenia lewe i prawe mają całkowitą różnych typów danych (na przykład, w lewo expression jest smallint i w prawo expression jest int), argument mniejszy typ danych jest konwertowana na większy typu danych. In this case, the smallintexpression is converted to an int.
Przykłady
W następującym przykładzie zostanie utworzony przy użyciu tabela int dane wpisz, aby zapisać oryginalne wartości i wstawia dwie wartości w jednym wierszu.
USE tempdb;
GO
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 'bitwise')
DROP TABLE bitwise;
GO
CREATE TABLE bitwise
(
a_int_value int NOT NULL,
b_int_value int NOT NULL
);
GO
INSERT bitwise VALUES (170, 75);
GO
Następująca kwerenda wykonuje bitowe OR a_int_value i b_int_value kolumny.
USE tempdb;
GO
SELECT a_int_value ^ b_int_value
FROM bitwise;
GO
Poniżej znajduje się zestaw wyników:
-----------
225
(1 row(s) affected)
Reprezentacja binarna 170 (a_int_value lub A) jest 0000 0000 1010 1010. Reprezentacja binarna 75 (b_int_value lub B) jest 0000 0000 0100 1011. Bitowe operacji wyłączne OR w tych dwóch wartości daje wynik binarne 0000 0000 1110 0001, czyli 225 dziesiętnej.
(A ^ B)
0000 0000 1010 1010
0000 0000 0100 1011
-------------------
0000 0000 1110 0001