Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Vonatkozik a következőkre: 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
SET_BIT
bit_offsetáltal definiált bit expression_value eltolását adja vissza. A bitérték alapértelmezés szerint 1, vagy bit_valuevan beállítva.
Transact-SQL szintaxis konvenciói
Szintaxis
SET_BIT ( expression_value, bit_offset )
SET_BIT ( expression_value, bit_offset, bit_value )
Érvek
expression_value
Minden olyan egész szám vagy bináris kifejezés, amely nem nagy objektum (LOB).
bit_offset
Bármilyen egész szám.
Visszatérési típusok
Ugyanaz a típus, mint expression_value.
A bit_offset paraméter a beállított adatok bitjénekazonosítására szolgál. Egész számtípusokban a 0bit a legkevésbé jelentős bit. Bináris típusok esetén a 0bit a legkevésbé jelentős bit a jobb szélső bájtban.
bit_value lehet egész szám vagy egy darab. Az bit_value egyetlen érvényes értéke azonban az 1 és a 0, az adattípustól függetlenül. SET_BIT hibát jelez, ha bit_value nem 1 vagy 0 vagy null.
SET_BIT hibát jelez, ha bit_offset negatív vagy nagyobb, mint az adattípus utolsó bitje.
Megjegyzések
A csatolt kiszolgálón belüli bitmanipulációs függvények elosztott lekérdezési funkciói vagy az alkalmi lekérdezések (OPENQUERY) nem támogatottak.
Az adatbázismotor nagyméretű objektum-adattípusai 8000 bájtnál nagyobb adatokat tárolhatnak. Ezek az adattípusok egy sorátfolyási adatoldalon tárolják az adatokat. A LOB olyan adattípusokat is magában foglal, amelyek dedikált LOB-lapstruktúrákban tárolják az adatokat, amelyek a LOB adatoldalakra mutató szöveg- vagy képmutatót használnak. Az adattárolással kapcsolatos további információkért tekintse meg a Lapok és mértékek architektúra útmutató.
A bitmanipulációs függvények a smallint, smallint, int, bigint, binary(n)és varbinary(n) adattípusokon működnek. Nagyméretű objektum (LOB) adattípusok, Például varchar(max), nvarchar(max), varbinary(max), kép, ntext, szöveg, xml-, valamint a közös nyelvi futtatókörnyezeti (CLR) BLOB-típusok nem támogatottak.
Példák
Egy. Érték módosítása SET_BIT használatával
Ebben a példában a harmadik bit (a 2. eltolásnál nulla alapú index) 1.
SELECT SET_BIT ( 0x00, 2 ) as VARBIN1;
Az eredmény 0x04. Ennek az az oka, hogy a 0x000000lesz konvertálva. SET_BIT a harmadik bitet (2. eltolás) 1-re módosítja, így 0100. Ez a bináris érték 4 lesz visszaadva hexadecimális ábrázolásban.
B. Érték módosítása egyéni bit_value a SET_BIT használatával
Ebben a példában a bit_value az alapértelmezett 1 helyett 0 értékre van állítva.
SELECT SET_BIT ( 0xabcdef, 0, 0 ) as VARBIN2;
Az eredmény 0xABCDEE. A expression_value binárissá alakítja, amely 1010 1011 1100 1101 1110 1111. SET_BIT az első bitet 0-ra módosítja, és az eredményt hexadecimális formátumban adja vissza.