Sdílet prostřednictvím


& (Bitwise A) (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 A mezi dvěma celočíselnými hodnotami.

Transact-SQL konvence syntaxe

Syntax

expression & expression  

Arguments

expression
Je libovolný platný výraz libovolného z datových typů celočíselné kategorie datového typu, bitu nebo binárního 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ýrazbinárního nebo varbinárního datového typu.

Typy výsledků

pokud jsou vstupní hodnoty int.

smallint, pokud jsou vstupní hodnoty malé.

tinyint , pokud jsou vstupní hodnoty tinyint nebo bit.

Remarks

Bitový operátor provádí bitové logické operátory AND mezi dvěma výrazy, přičemž každý odpovídající bit pro oba výrazy. Bity ve výsledku jsou nastaveny na 1, pokud a pouze v případě, že oba bity (pro aktuální bit je vyřešen) ve vstupních výrazech mají hodnotu 1; v opačném případě 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řípadě se malýintvýraz převede na int.

Examples

Následující příklad vytvoří tabulku pomocí datového typu int k uložení hodnot a vloží dvě hodnoty 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  

Tento dotaz provádí bitové operátory AND mezi a_int_value sloupci a b_int_value sloupci.

SELECT a_int_value & b_int_value  
FROM bitwise;  
GO  

Tady je sada výsledků:

-----------   
10            
  
(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é operace AND na těchto dvou hodnotách vytvoří binární výsledek 0000 0000 0000 1010, což je desetinné číslo 10.

(A & B)  
0000 0000 1010 1010  
0000 0000 0100 1011  
-------------------  
0000 0000 0000 1010  

Viz také

Výrazy (Transact-SQL)
Operátory (Transact-SQL)
Bitové operátory (Transact-SQL)
&= (Bitové přiřazení AND) (Transact-SQL)
Složené operátory (Transact-SQL)