Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Punkt końcowy analizy SQL w usłudze Microsoft Fabric
Hurtownia danych w usłudze Microsoft Fabric
Baza danych SQL w usłudze Microsoft Fabric
Wykonuje bitową operację wykluczania OR logicznego między dwiema wartościami całkowitymi.
Transact-SQL konwencje składni
Syntax
expression ^ expression
Arguments
expression
Dowolne prawidłowe wyrażenie dowolnego z typów danych kategorii typu danych całkowitych lub bitu albo typów danych binarnych lub varbinary . Wyrażenie jest traktowane jako liczba binarna dla operacji bitowej.
Note
Tylko jedno wyrażenie może być typu danych binarnych lub varbinary w operacji bitowej.
Typy zwracane
int , jeśli wartości wejściowe są int.
smallint, jeśli wartości wejściowe są małe.
tinyint , jeśli wartości wejściowe są małe.
Remarks
Operator ^ bitowy wykonuje bitowe logiczne wyłączność OR między dwoma wyrażeniami, biorąc każdy odpowiadający bit dla obu wyrażeń. Bity w wyniku są ustawione na 1 bity, jeśli bity (ale nie oba) (dla bieżącego bitu rozpoznawanego) w wyrażeniach wejściowych mają wartość 1. Jeśli oba bity są 0 lub oba bity to 1, bit w wyniku zostanie wyczyszczone na wartość 0.
Jeśli wyrażenia po lewej i prawej mają różne typy danych całkowitych (na przykład wyrażenie po lewej stronie jest małe , a prawe wyrażenie jest int), argument mniejszego typu danych jest konwertowany na większy typ danych. W tym przypadku wyrażeniesmallint jest konwertowane na int.
Examples
Poniższy przykład tworzy tabelę przy użyciu typu danych int do przechowywania oryginalnych wartości i wstawia dwie wartości do jednego wiersza.
CREATE TABLE bitwise
(
a_int_value INT NOT NULL,
b_int_value INT NOT NULL
);
GO
INSERT bitwise
VALUES (170, 75);
GO
Poniższe zapytanie wykonuje bitowe wyłączność OR na kolumnach a_int_value i .b_int_value
SELECT a_int_value ^ b_int_value
FROM bitwise;
GO
Oto zestaw wyników.
-----------
225
Binarna reprezentacja wartości 170 (a_int_value lub A) to 0000 0000 1010 1010. Binarna reprezentacja wartości 75 (b_int_value lub B) to 0000 0000 0100 1011. Wykonanie operacji wykluczania OR bitowego na tych dwóch wartościach powoduje wynik 0000 0000 1110 0001binarny , który jest dziesiętny 225.
(A ^ B)
0000 0000 1010 1010
0000 0000 0100 1011
-------------------
0000 0000 1110 0001