Udostępnij za pomocą


| (Bitowe LUB) (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Punkt końcowy analizy SQL w usłudze Microsoft FabricHurtownia danych w usłudze Microsoft FabricBaza danych SQL w usłudze Microsoft Fabric

Wykonuje bitową operację logiczną OR między dwiema określonymi wartościami całkowitymi przetłumaczoną na wyrażenia binarne w instrukcjach Transact-SQL.

Transact-SQL konwencje składni

Syntax

expression | expression  

Arguments

expression
Jest dowolnym prawidłowym wyrażeniem kategorii typu danych całkowitych lub typów danych bitowych, binarnych lub varbinary . 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

Zwraca int , jeśli wartości wejściowe są int, smallint , jeśli wartości wejściowe są małe, lub tinyint , jeśli wartości wejściowe są małe.

Remarks

Bitowe | operator wykonuje bitową wartość logiczną 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 bity (dla bieżącego bitu rozpoznawanego) w wyrażeniach wejściowych mają wartość 1; jeśli żaden bit w wyrażeniach wejściowych nie ma wartości 1, bit w wyniku ma wartość 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 przykładzie wyrażeniesmallint jest konwertowane na int.

Examples

Poniższy przykład tworzy tabelę z typami danych int , aby pokazać oryginalne wartości i umieścić tabelę w jednym wierszu.

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 bitowe instrukcje OR w kolumnach a_int_value i b_int_value .

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) to 0000 0000 1010 1010. Binarna reprezentacja wartości 75 (b_int_value lub B, poniżej) to 0000 0000 0100 1011. Wykonanie operacji bitowej OR na tych dwóch wartościach powoduje wygenerowanie wyniku 0000 0000 1110 1011binarnego , który jest dziesiętny 235.

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

Zobacz też

Operatory (Transact-SQL)
Operatory bitowe (Transact-SQL)
|= (bitowe lub przypisanie) (Transact-SQL)
Operatory złożone (Transact-SQL)