Delen via


& (Bitwise AND) (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Analytics-eindpunt in Microsoft FabricMagazijn in Microsoft FabricSQL-database in Microsoft Fabric Preview

Voert een bitsgewijze logische AND-bewerking uit tussen twee gehele getallen.

Transact-SQL syntaxis-conventies

Syntax

expression & expression  

Arguments

expression
Is een geldige expressie van een van de gegevenstypen van de categorie geheel getalgegevens, of de bit, of de binaire of varbinaire gegevenstypen. expressie wordt behandeld als een binair getal voor de bitsgewijze bewerking.

Note

In een bitsgewijze bewerking kan slechts één expressie van het binaire of varbinaire gegevenstype zijn.

Result Types

int als de invoerwaarden int zijn.

smallint als de invoerwaarden klein zijn.

kleineint als de invoerwaarden klein of klein zijn.

Remarks

De operator & bitwise voert een bitsgewijze logische EN uit tussen de twee expressies, waarbij elke bijbehorende bit voor beide expressies wordt gebruikt. De bits in het resultaat worden ingesteld op 1 als en alleen als beide bits (voor de huidige bit die worden omgezet) in de invoerexpressies een waarde van 1 hebben; anders wordt de bit in het resultaat ingesteld op 0.

Als de linker- en rechterexpressies verschillende gegevenstypen voor gehele getallen hebben (de linkerexpressie is bijvoorbeeld klein en de rechterexpressieint), wordt het argument van het kleinere gegevenstype geconverteerd naar het grotere gegevenstype. In dit geval wordt de smallint-expressie geconverteerd naar een int.

Examples

In het volgende voorbeeld wordt een tabel gemaakt met behulp van het int-gegevenstype om de waarden op te slaan en twee waarden in één rij in te voegen.

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

Met deze query wordt de bitsgewijze AND tussen de a_int_value en b_int_value kolommen uitgevoerd.

SELECT a_int_value & b_int_value  
FROM bitwise;  
GO  

Dit is de resultatenset:

-----------   
10            
  
(1 row(s) affected)  

De binaire weergave van 170 (a_int_value of A) is 0000 0000 1010 1010. De binaire weergave van 75 (b_int_value of B) is 0000 0000 0100 1011. Het uitvoeren van de bitsgewijze AND-bewerking op deze twee waarden produceert het binaire resultaat 0000 0000 0000 1010, wat decimaal 10 is.

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

See Also

Expressions (Transact-SQL)
Operators (Transact-SQL)
Bitwise Operators (Transact-SQL)
&= (Bitwise AND Assignment) (Transact-SQL)
Samengestelde operators (Transact-SQL)