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
LEFT_SHIFT két paramétert vesz fel, és az első paramétert adja vissza, amely a második paraméterben megadott bitszámmal balra mozdult.
A LEFT_SHIFT funkció szintén elérhető az << operátoron keresztül.
Transact-SQL szintaxis konvenciók
Szemantika
LEFT_SHIFT ( expression_value, shift_amount )
expression_value << shift_amount
Arguments
expression_value
Bármely egész szám vagy bináris kifejezés, amely nem nagy objektum (LOB).
shift_amount
Hány bittel kell expression_value eltolni. shift_amount egész szám típusnak kell lennie.
Visszatérési típusok
Ugyanazt a típust adja vissza, mint a expression_value.
A shift_amount paramétert bigintre vetjük. A paraméter lehet pozitív vagy negatív, és akár nagyobb is lehet, mint a expression_value adattípusában lévő bitek száma. Ha shift_amount negatív, az eltolás az ellenkező irányba működik. Például LEFT_SHIFT (expr, -1) ugyanaz, mint RIGHT_SHIFT (expr, 1). Ha shift_amount nagyobb, mint a expression_value bitjei, a visszanyert eredmény .0
LEFT_SHIFT logikus váltást hajt végre. A bitek elhelyezése után minden üres pozíciót betöltenek , 0függetlenül attól, hogy az eredeti érték pozitív vagy negatív volt-e.
Megjegyzések
A kezdeti megvalósításban a Distributed Query funkciók a bitmanipulációs funkciókhoz a linked serverben vagy ad hoc lekérdezésekben (OPENQUERY) nem lesz támogatva.
A << függvény módszere LEFT_SHIFT jelenleg nem támogatott a Microsoft Fabricben.
Példák
A következő példában a 12345 egész szám 5 bittel balra tolva.
SELECT LEFT_SHIFT(12345, 5);
Az eredmény 395040. Ha a 12345-öt binárissá alakítod, akkor .0011 0000 0011 1001 Ha ezt 5-tel balra toljuk, az 0110 0000 0111 0010 0000lesz, ami 395040 tizedesszámban van.
Az alábbi táblázat bemutatja, mi történik minden műszak során.
| Egész számérték | Bináris érték | Description |
|---|---|---|
| 12345 | 0011 0000 0011 1001 |
Kezdeti érték |
| 24690 | 0110 0000 0111 0010 |
Váltás balra 1-re |
| 49380 | 1100 0000 1110 0100 |
Két fővel balra |
| 98760 | 0001 1000 0001 1100 1000 |
Három balra mozdulni, és új bájtba nyitva |
| 197520 | 0011 0000 0011 1001 0000 |
Négy emberrel balra |
| 395040 | 0110 0000 0111 0010 0000 |
Átmozdulás 5-tel balra |