RIGHT_SHIFT (Transact SQL)
S’applique à : SQL Server 2022 (16.x) Azure SQL DatabaseAzure SQL Managed InstancePoint de terminaison analytique SQL dans Microsoft FabricEntrepôt dans Microsoft Fabric
RIGHT_SHIFT prend deux paramètres et retourne le premier paramètre déplacé à droite par le nombre de bits spécifiés dans le deuxième paramètre.
La fonction RIGHT_SHIFT est également accessible via l’opérateur >>
.
Conventions de la syntaxe Transact-SQL
Syntaxe
RIGHT_SHIFT ( expression_value, shift_amount )
expression_value >> shift_amount
Arguments
expression_value
Toute expression entière ou binaire qui n’est pas un Large Object (LOB).
shift_amount
Nombre de bits par lesquels expression_value doit être déplacé. shift_amount doit être de type entier.
Types de retour
Retourne le même type que expression_value.
Le paramètre shift_amount est casté en bigint. Le paramètre peut être positif ou négatif et peut également être supérieur au nombre de bits dans le type de données de expression_value. Lorsque shift_amount est négative, le déplacement fonctionne dans la direction opposée. Par exemple, LEFT_SHIFT (expr, -1)
est identique à RIGHT_SHIFT (expr, 1)
. Lorsque shift_amount est supérieur au nombre de bits dans expression_value, le résultat retourné sera 0
.
RIGHT_SHIFT effectue un déplacement logique. Une fois les bits déplacés, toutes les positions vacantes seront remplies par 0
, quelle que soit la valeur d’origine positive ou négative.
Remarques
Dans l’implémentation initiale, la fonctionnalité Requête distribuée pour les fonctions de manipulation de bits au sein de requêtes de serveur lié ou ad hoc (OPENQUERY) ne sera pas prise en charge.
La méthode >>
de la fonction RIGHT_SHIFT
n’est actuellement pas prise en charge dans Microsoft Fabric.
Exemples
Dans l’exemple suivant, la valeur entière 12345 est déplacée à droite de 5 bits.
SELECT RIGHT_SHIFT(12345, 5);
Le résultat est 385. Si vous convertissez 12345 en binaire, vous avez 0011 0000 0011 1001
. Le déplacement à droite de 5 devient 0001 1000 0001
, qui est 385
en décimale.
Le tableau suivant montre ce qui se passe pendant chaque déplacement.
Valeur entière | Valeur binaire | Description |
---|---|---|
12345 | 0011 0000 0011 1001 |
Valeur de départ |
6172 | 0001 1000 0001 1100 |
Déplacer vers la droite de 1 |
3086 | 0000 1100 0000 1110 |
Déplacer vers la droite de 2 |
1543 | 0000 0110 0000 0111 |
Déplacer vers la droite de 3 |
771 | 0000 0011 0000 0011 |
Déplacer vers la droite de 4 |
385 | 0000 0001 1000 0001 |
Déplacer vers la droite de 5 |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de l’année 2024, nous abandonnerons progressivement le mécanisme de retour d’information GitHub Issues pour le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultez :Soumettre et afficher des commentaires pour