Not
Å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 2022 (16.x)
Azure SQL Database
Azure SQL Managed Instance
SQL analytics endpoint in Microsoft Fabric
Warehouse in Microsoft Fabric SQL
database in Microsoft Fabric
Bitmanipulationsfunktioner som att flytta, hämta (hämta), sätta eller räkna enskilda bitar inom ett heltals- eller binärt värde gör att du kan bearbeta och lagra data mer effektivt än med enskilda bitar.
En bit har två värden (1 eller 0, som representerar on eller off, eller true eller false). En byte består av en sekvens av 8 bitar. Bitmanipulationsfunktioner i SQL Server behandlar den "vänstra" biten i en byte som den största (den mest betydelsefulla). För bitmanipulationsfunktionerna numreras bitarna från höger till vänster, där biten 0 är höger, minsta och bit 7 är vänster och störst.
Till exempel är en binär följd av 00000111 decimalmotsvarigheten till talet 7. Du kan räkna ut detta med hjälp av potenser av 2 på följande sätt:
00000111 = (2^2 + 2^1 + 2^0 = 4 + 2 + 1 = 7)
Detta innebär i praktiken att medan SQL Server lagrar detta värde som 11100000 (byte-reversed), kommer bitmanipulationsfunktionerna att behandla det som om det vore 00000111.
När man tittar på flera bytes är den första byten (läst från vänster till höger) den största.
Du kan använda följande bilder för att visualisera hur SQL Servers bitmanipulationsfunktioner tolkar bit- och byteuttrycksvärden samt bitoffsets.
int
smallint
Functions
Det finns fem funktioner tillgängliga för att hantera bitar i SQL Server:
Alla fem funktioner är avsedda att arbeta på tinyint, smallint, int, bigint, binär(n) och varbinär(n) datatyper.
Följande typer stöds inte: varchar, nvarchar, image, ntext, text, xml och table.
Anmärkningar
I den initiala implementeringen kommer Distributed Query-funktionalitet för bitmanipulationsfunktioner inom länkade servrar eller ad hoc-frågor (OPENQUERY) inte att stödjas.