| (Wartość logiczną lub) (Transact-SQL)
Wykonuje logiczną logicznej operacji lub między dwiema wartościami określona liczba całkowita jak tłumaczone binarne wyrażeń w Transact-SQL instrukcji.
Składnia
expression | expression
Argumenty
expression
Wszelkie obowiązuje wyrażenie kategorii typu danych integer lub bit, binary, lub varbinary typów danych.expressionjest traktowana jako liczbę dwójkową dla operacja bitowa.Ostrzeżenie
Tylko jeden expression może być albo binary lub varbinary Typ danych w operacja bitowa.
Typy wyników
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.
Uwagi
Bitowe | operator wykonuje logiczną lub logicznego między dwoma wyrażeniami, uwzględniając każdy odpowiadający mu bit zarówno wyrażeń.Usługa bits w wyniku są zestaw na 1, gdy jeden lub oba bity (dla bieżącego bit zamieniana) w danych wejściowych wyrażenia mają wartość 1; Jeżeli żaden bit wprowadzania wyrażeń wynosi 1, bit w wyniku jest zestaw na wartość 0.
Jeśli wyrażenia lewego i prawego mają całkowitą różnych typów danych (na przykład, po lewej stronie expression jest smallint i prawo do expression jest int), argument mniejszy typ danych jest konwertowana na większy typu danych.W tym przykładzie smallintexpression jest konwertowany na int.
Przykłady
Poniższy przykład tworzy tabela o int typy danych, aby pokazać oryginalnej wartości i umieszcza w tabela 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
Następująca kwerenda wykonuje logiczną lub na a_int_value i b_int_value kolumny.
USE tempdb;
GO
SELECT a_int_value | b_int_value
FROM bitwise;
GO
Oto zestaw wyników.
-----------
235
(1 row(s) affected)
Reprezentacja binarna 170 (a_int_value lub A, poniżej) jest 0000 0000 1010 1010.Reprezentacja binarna 75 (b_int_value lub B, poniżej) jest 0000 0000 0100 1011.Wykonuje logiczną operację lub na tych dwóch wartości daje wynik binary 0000 0000 1110 1011, który jest decimal 235.
(A | B)
0000 0000 1010 1010
0000 0000 0100 1011
-------------------
0000 0000 1110 1011