Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analysplattformssystem (PDW)
SQL-analysslutpunkt i Microsoft Fabric
Lager i Microsoft Fabric
SQL-databas i Förhandsversion av Microsoft Fabric
Utför en bitvis logisk AND-åtgärd mellan två heltalsvärden.
Transact-SQL syntaxkonventioner
Syntax
expression & expression
Arguments
expression
Är ett giltigt uttryck för någon av datatyperna i heltalsdatatypen kategori, bit eller binära eller varbinära datatyper.
uttrycket behandlas som ett binärt tal för bitvis-åtgärden.
Note
I en bitvis åtgärd kan endast ett uttryck vara av antingen binär eller varbinär datatyp.
Result Types
int om indatavärdena är int.
smallint om indatavärdena är småint.
tinyint om indatavärdena är tinyint eller bit.
Remarks
Operatorn &bitvis utför en bitvis logisk AND mellan de två uttrycken och tar varje motsvarande bit för båda uttrycken. Bitarna i resultatet är inställda på 1 om och endast om båda bitarna (för den aktuella biten som löses) i indatauttrycken har värdet 1. annars är biten i resultatet inställd på 0.
Om vänster- och högeruttrycken har olika heltalsdatatyper (till exempel är det vänstra uttrycketsmallint och det högra uttrycket är int), konverteras argumentet för den mindre datatypen till den större datatypen. I det här fallet konverteras smallint-uttrycket till en int.
Examples
I följande exempel skapas en tabell med int-datatypen för att lagra värdena och infogar två värden i en rad.
CREATE TABLE bitwise (
a_int_value INT NOT NULL,
b_int_value INT NOT NULL);
GO
INSERT bitwise VALUES (170, 75);
GO
Den här frågan utför bitvis OCH mellan kolumnerna a_int_value och b_int_value .
SELECT a_int_value & b_int_value
FROM bitwise;
GO
Här är resultatuppsättningen:
-----------
10
(1 row(s) affected)
Den binära representationen av 170 (a_int_value eller A) är 0000 0000 1010 1010. Den binära representationen av 75 (b_int_value eller B) är 0000 0000 0100 1011. Om du utför bitvis AND-åtgärden på dessa två värden genereras det binära resultatet 0000 0000 0000 1010, som är decimalt 10.
(A & B)
0000 0000 1010 1010
0000 0000 0100 1011
-------------------
0000 0000 0000 1010
See Also
Expressions (Transact-SQL)
Operators (Transact-SQL)
Bitvisoperatorer (Transact-SQL)
&= (Bitvis OCH tilldelning) (Transact-SQL)
Sammansatta operatorer (Transact-SQL)