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 přebírá dva parametry a vrátí první bitový posun parametru doprava o počet bitů zadaných v druhém parametru.
Funkce RIGHT_SHIFT je také přístupná prostřednictvím operátoru >> .
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). Pokud je shift_amount větší než počet bitů v expression_value, vrátí se 0výsledek .
RIGHT_SHIFT provede logický posun. Po posunu bitů se všechny volné pozice vyplní 0, bez ohledu na to, zda byla původní hodnota kladná nebo záporná.
Poznámky
V počáteční implementaci nejsou podporované funkce distribuovaného dotazu pro funkce pro práci s bity v rámci odkazovaného serveru nebo ad hoc dotazů (OPENQUERY).
Metoda >> pro RIGHT_SHIFT funkci není v současné době v Microsoft Fabric podporovaná.
Examples
V následujícím příkladu je celočíselná hodnota 12 345 posunutá doprava o 5 bitů.
SELECT RIGHT_SHIFT(12345, 5);
Výsledek je 385. Pokud převedete hodnotu 12 345 na binární, máte 0011 0000 0011 1001. Posun této hodnoty doprava o 5 bitů se stane 0001 1000 0001, což je 385 v desítkové soustavě.
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 |
Související obsah
- LEFT_SHIFT (Transact SQL)
- SET_BIT (Transact SQL)
- GET_BIT (Transact SQL)
- BIT_COUNT (Transact SQL)
- funkce pro manipulaci s bity