Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
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 a második paraméterben megadott bitek számával balra eltolt első paramétert adja vissza.
A LEFT_SHIFT függvény az operátoron keresztül << is elérhető.
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 nagyobb is lehet, mint a bitek száma a expression_value adattípusában. 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 bitjeinek száma, a visszaadott eredmény .0
LEFT_SHIFT logikai eltolódást hajt végre. A bitek eltolása után a betöltetlen pozíciókat a rendszer kitölti 0, függetlenül attól, hogy az eredeti érték pozitív vagy negatív volt-e.
Megjegyzések
A kezdeti implementációban 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.
A << függvény metódusa LEFT_SHIFT jelenleg nem támogatott a Microsoft Fabricben.
Példák
Az alábbi példában a 12 345-ös egész szám balról 5 bitel van eltolva.
SELECT LEFT_SHIFT(12345, 5);
Az eredmény 395 040. Ha a 12 345-öt binárissá konvertálja, akkor a 0011 0000 0011 1001. Ha ezt az értéket 5 bitel balra tolja, az 395040 decimális érték lesz0110 0000 0111 0010 0000.
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 |
Shift balra 3-tal, és nyisson meg egy új bájtot |
197520 |
0011 0000 0011 1001 0000 |
Négy emberrel balra |
395040 |
0110 0000 0111 0010 0000 |
Átmozdulás 5-tel balra |