Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí na: SQL Server 2022 (16.x)
Azure SQL Database
AzureSQL Managed Instance
SQL analytics endpoint in Microsoft Fabric
Warehouse in Microsoft Fabric
SQL database in Microsoft Fabric
RIGHT_SHIFT vezme dva parametry a vrátí první parametr posunutý doprava o počet bitů zadaných ve druhém parametru.
Funkce RIGHT_SHIFT je také přístupná přes operátora >> .
Syntaxe
RIGHT_SHIFT ( expression_value, shift_amount )
expression_value >> shift_amount
Arguments
expression_value
Jakýkoli celočíselný nebo binární výraz, který není velkým objektem (LOB).
shift_amount
Počet bitů, o které by měl být expression_value posunut. shift_amount musí být celočíselný typ.
Návratové typy
Vrací stejný typ jako expression_value.
Parametr shift_amount se přelije do bigintu. Parametr může být kladný nebo záporný a může být také větší než počet bitů v datovém typu expression_value. Když je shift_amount záporný, posun působí opačným směrem. Například LEFT_SHIFT (expr, -1) je stejná jako RIGHT_SHIFT (expr, 1). Když je shift_amount větší než počet bitů v expression_value, výsledek vrácený bude .0
RIGHT_SHIFT provádí logický posun. Po posunutí bitů budou všechna volná místa obsazena , 0bez ohledu na to, zda byla původní hodnota kladná nebo záporná.
Poznámky
V počáteční implementaci nebude podpora funkcionality Distributed Query pro funkce pro úpravu bitů v rámci propojených serverů nebo ad hoc dotazů (OPENQUERY).
Metoda >> této RIGHT_SHIFT funkce není v Microsoft Fabric v tuto chvíli podporována.
Examples
V následujícím příkladu je celočíselná hodnota 12345 posunuta doprava o 5 bitů.
SELECT RIGHT_SHIFT(12345, 5);
Výsledek je 385. Pokud převedete 12345 do binárního, máte 0011 0000 0011 1001. Posunutím doprava o 5 0001 1000 0001se stane , což je 385 v desetinném rozpisu.
Následující tabulka ukazuje, co se děje během každé směny.
| Celočíselná hodnota | Binární hodnota | Description |
|---|---|---|
| 12345 | 0011 0000 0011 1001 |
Počáteční hodnota |
| 6172 | 0001 1000 0001 1100 |
Posuňte se doprava o 1 |
| 3086 | 0000 1100 0000 1110 |
Posuňte se doprava o 2 |
| 1543 | 0000 0110 0000 0111 |
Posuňte se doprava o 3 |
| 771 | 0000 0011 0000 0011 |
Posuňte se doprava o 4 |
| 385 | 0000 0001 1000 0001 |
Posuňte se doprava o 5 |
Viz také
- LEFT_SHIFT (Transact SQL)
- SET_BIT (Transact SQL)
- GET_BIT (Transact SQL)
- BIT_COUNT (Transact SQL)
- funkce pro manipulaci s bity