Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz 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ę wyłączną OR między dwiema wartościami całkowitymi.
Transact-SQL konwencje składni
Syntax
expression ^ expression
Arguments
expression
Jest dowolnym prawidłowym wyrażeniem dowolnego z typów danych kategorii typu danych całkowitych lub bitu albo binarnych lub varbinary typów danych.
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 wyników
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 bitowo 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, jeśli albo (ale nie oba) bity (dla bieżącego bitu rozpoznawanego) w wyrażeniach wejściowych mają wartość 1. Jeśli oba bity mają wartość 0 lub oba bity to 1, bit w wyniku zostanie wyczyszczone do wartości 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 bitowo wyłączny OR w kolumnach a_int_value i b_int_value .
SELECT a_int_value ^ b_int_value
FROM bitwise;
GO
Oto zestaw wyników:
-----------
225
(1 row(s) affected)
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 bitowej operacji wykluczania OR 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
Zobacz też
Wyrażenia (Transact-SQL)
Operatory (Transact-SQL)
Operatory bitowe (Transact-SQL)
^= (Bitowe wyłączność LUB przypisanie) (Transact-SQL)
Operatory złożone (Transact-SQL)