Udostępnij za pośrednictwem


& (Bitwise AND) (Transact-SQL)

Wykonuje operację i logicznych bitowe między dwiema wartościami liczby całkowitej.

Topic link iconKonwencje składni języka Transact-SQL

expression & expression

Argumenty

  • expression
    Is any valid expression of any 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

    W operacji bitowe, tylko jeden expression może być: binary lub varbinary Typ danych.

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 lub bit.

Remarks

The & bitwise operator performs a bitwise logical AND between the two expressions, taking each corresponding bit for both expressions.Liczba bitów w wyniku są ustawione na 1, gdy i tylko wtedy, gdy oba bity (dla bieżącego bit zamieniana) w danych wejściowych wyrażenia mają wartość 1; w przeciwnym wypadku bit w wyniku jest równa 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 do przechowywania 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

Ta kwerenda wykonuje bitowe AND między 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:

----------- 
10          

(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. Wykonywanie operacji bitowe i w tych dwóch wartości daje wynik binarne 0000 0000 0000 1010, czyli 10 dziesiętnej.

(A & B)
0000 0000 1010 1010
0000 0000 0100 1011
-------------------
0000 0000 0000 1010