| (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 bitové logické OR operace mezi dvěma celočíselnou hodnotou.

Transact-SQL konvence syntaxe

Syntax

expression | expression

Arguments

expression

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.

Návratové typy

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í bitovou logickou OR logiku 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 tak 1 , aby buď nebo oba bity (pro aktuální bit, který se překládá) ve vstupních výrazech měly hodnotu 1. Pokud ani jeden bit ve vstupních výrazech není 1, bit ve výsledku je nastaven na 0hodnotu .

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řípadě 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 bitovou bitové operace OR se a_int_value sloupci a b_int_value sloupci.

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) je 0000 0000 1010 1010. Binární reprezentace 75 (b_int_value nebo B) je 0000 0000 0100 1011. Provedení bitové OR operace 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