Aracılığıyla paylaş


^ (Bitsel Exclusive OR) (Transact-SQL)

Bit düzeyinde özel VEYA işleci iki tamsayı değerleri arasındaki gerçekleştirir.

Topic link iconTransact-SQL sözdizimi kuralları

expression ^ expression

Bağımsız değişkenler

  • 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.

    Not

    Yalnızca bir expression aşağıdakilerden biri olabilir. binary veya varbinary içinde veri türü bir bit düzeyinde işlem.

Sonuç türleri

int Giriş değerleri int.

smallint Giriş değerleri smallint.

tinyint Giriş değerleri tinyint.

Remarks

The ^ bitwise işleç performs a bitwise logical exclusive OR between the two expressions, taking each corresponding bit for both expressions. Sonuç bit ya da, 1 (ancak her ikisini birden değil) olarak bitlerini (çözülmüş geçerli bit) giriş olan ifadeler 1 değeri vardır.Her iki bit 0 veya her iki bit 1, sonuç bit değerini 0 olarak temizlenir.

Farklı bir tamsayı veri türlerini (örneğin, sola ve sol ifadeler varsa expression olan smallint ve sağa expression olan int), bağımsız değişken veri türü küçük büyük veri türüne dönüştürülür. In this case, the smallintexpression is converted to an int.

Örnekler

Aşağıdaki örnek, kullanarak bir tablo oluşturur int veriler, özgün değerleri saklamak için yazın ve iki satırı ekler.

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

Bit düzey exclusive VEYA gerçekleştirir aşağıdaki sorguyu a_int_value ve b_int_value sütunlar.

USE tempdb;
GO
SELECT a_int_value ^ b_int_value
FROM bitwise;
GO

sonuç kümesi aşağıdadır:

----------- 
225         

(1 row(s) affected)

170 (Bir ikili gösterimia_int_value veya A) olan 0000 0000 1010 1010. 75 (Bir ikili gösterimib_int_value veya B) olan 0000 0000 0100 1011. Bu iki değer bitwise özel OR işlemi gerçekleştirme ikili sonuç üretir. 0000 0000 1110 0001, ondalık 225 olduğu.

(A ^ B)   
         0000 0000 1010 1010
         0000 0000 0100 1011
         -------------------
         0000 0000 1110 0001