| (Lub na poziomie bitowym) (języka Transact-SQL)

Tłumaczone na binarny wyrażeń w ciągu jest wykonywane bitowe logicznej operacji lub między dwiema wartościami określonej liczby całkowitej Transact-SQL instrukcje.

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

expression | expression

Argumenty

  • expression
    Is any valid expression of the integer data type category, or the bit, 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

Zwraca int w przypadku wartości wejściowych int, smallint w przypadku wartości wejściowych smallint, lub tinyint w przypadku wartości wejściowych tinyint.

Remarks

Operator bitowy | wykonuje bitowe działanie OR na odpowiadających sobie bitach dwóch wyrażeń.Bity wyniku uzyskują wartość 1, jeśli dowolny z dwóch bitów (dla aktualnie obliczanego bitu) wyrażeń wejściowych ma wartość 1. Jeśli żaden z bitów nie reprezentuje wartości 1, bit wyniku otrzymuje 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 example, the smallintexpression is converted to an int.

Przykłady

Przed utworzeniem funkcja, wirtualny plik dziennika int jest zarejestrowany w lokalnej bazie danych.

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 lub a_int_value and b_int_value kolumny.

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

Here is the result set.

----------- 
235         

(1 row(s) affected)

Reprezentacja binarna 170 (a_int_value or Aponiżej) jest 0000 0000 1010 1010. Reprezentacja binarna 75 (b_int_value or Bponiżej) jest 0000 0000 0100 1011. Bitowe operacji lub w tych dwóch wartości daje wynik binarne 0000 0000 1110 1011, czyli 235 dziesiętnej.

(A | B)
0000 0000 1010 1010
0000 0000 0100 1011
-------------------
0000 0000 1110 1011