Megosztás a következőn keresztül:


LEFT_SHIFT (Transact SQL)

Vonatkozik a következőkre: SQL Server 2022 (16.x) Azure SQL DatabaseAzure SQL Managed InstanceSQL analytics endpoint in Microsoft FabricWarehouse in Microsoft Fabric SQLdatabase 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

Lásd még