Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: 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
Bitmanipulatiefuncties zoals het verplaatsen, ophalen (ophalen), instellen of tellen van losse bits binnen een geheel getal of binaire waarde stellen je in staat data efficiƫnter te verwerken en op te slaan dan met individuele bits.
Een bit heeft twee waarden (1 of 0, die of off, of true of false) vertegenwoordigenon. Een byte bestaat uit een reeks van 8 bits. Bitmanipulatiefuncties in SQL Server behandelen het "meest links" bit in een byte als het grootste (het meest significante). Voor de bitmanipulatiefuncties worden bits genummerd van rechts naar links, waarbij bit 0 het meest rechts en het kleinste en 7 het bit het meest links en het grootste zijn.
Bijvoorbeeld, een binaire reeks van 00000111 is het decimale equivalent van het getal 7. Je kunt dit berekenen met machten van 2 als volgt:
00000111 = (2^2 + 2^1 + 2^0 = 4 + 2 + 1 = 7)
Dit betekent in de praktijk dat terwijl SQL Server deze waarde opslaat als 11100000 (byte-reversed), de bitmanipulatiefuncties het behandelen alsof het 00000111.
Bij het bekijken van meerdere bytes is de eerste byte (van links naar rechts) de grootste.
Je kunt de volgende afbeeldingen gebruiken om te visualiseren hoe de bitmanipulatiefuncties van SQL Server bit- en byte-expressiewaarden en bitoffsets interpreteren.
int
smallint
Functions
Er zijn vijf functies beschikbaar voor het manipuleren van bits in SQL Server:
Alle vijf functies zijn bedoeld om te werken op tinyint, smallint, int, bigint, binair(n) en varbinair(n) datatypes.
De volgende typen worden niet ondersteund: varchar, nvarchar, image, ntext, text, xml en table.
Opmerkingen
In de eerste implementatie wordt de functionaliteit Distributed Query voor de bitmanipulatiefuncties binnen gekoppelde servers of ad hoc queries (OPENQUERY) niet ondersteund.