Sdílet prostřednictvím


| (BITOVĚ OR) (Transact-SQL)

Platí pro:SQL ServerAzure SQL DatabaseSpravovaná instance Azure SQLAzure Synapse AnalyticsAnalytics Platform System (PDW)Koncový bod analýzy SQL v Microsoft FabricSklad v Microsoft FabricDatabáze SQL v Microsoft Fabric

Provede bitovou logickou operaci OR mezi dvěma zadanými celočíselnými hodnotami převedenými na binární výrazy v rámci příkazů Transact-SQL.

Transact-SQL konvence syntaxe

Syntax

expression | expression  

Arguments

expression
Je libovolný platný výraz kategorie celočíselného datového typu, bitu,binárního souboru nebo varbinárního datového typu. výraz je považován za binární číslo pro bitovou operaci.

Note

V bitové operaci může být pouze jeden výrazz binárního nebo varbinárního datového typu.

Typy výsledků

Vrátí hodnotu int , pokud jsou vstupní hodnoty int, malýint , pokud jsou vstupní hodnoty malé, nebo tinyint , pokud jsou vstupní hodnoty tinyint.

Remarks

Bitový | operátor provádí bitový logický operátor OR mezi těmito dvěma výrazy, přičemž každý odpovídající bit pro oba výrazy. Bity ve výsledku jsou nastaveny na hodnotu 1, pokud má vstupní výraz hodnotu 1 nebo obě bity (pro aktuální bit, který se řeší). Pokud ani jeden bit ve vstupních výrazech není 1, je bit ve výsledku nastaven na hodnotu 0.

Pokud výrazy vlevo a vpravo mají různé celočíselné datové typy (například levý výraz je malý a pravý výraz je int), je argument menšího datového typu převeden na větší datový typ. V tomto příkladu se malýintvýraz převede na int.

Examples

Následující příklad vytvoří tabulku s datovými typy int , která zobrazí původní hodnoty a vloží tabulku do jednoho řádku.

CREATE TABLE bitwise (  
  a_int_value INT NOT NULL,  
  b_int_value INT NOT NULL);  
GO  
INSERT bitwise VALUES (170, 75);  
GO  

Následující dotaz provede bitové operace OR ve sloupcích a_int_value a b_int_value .

SELECT a_int_value | b_int_value  
FROM bitwise;  
GO  

Tady je soubor výsledků.

-----------   
235           
  
(1 row(s) affected)  

Binární reprezentace 170 (a_int_value nebo A, níže) je 0000 0000 1010 1010. Binární reprezentace 75 (b_int_value nebo B, níže) je 0000 0000 0100 1011. Provedení bitové operace OR na těchto dvou hodnotách vytvoří binární výsledek 0000 0000 1110 1011, což je desítkové číslo 235.

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

Viz také

Operátory (Transact-SQL)
Bitové operátory (Transact-SQL)
|= (Bitové přiřazení OR) (Transact-SQL)
Složené operátory (Transact-SQL)