Modulo (Transact-SQL)
Renvoie le reste d'un nombre divisé par un autre.
Conventions de la syntaxe Transact-SQL
Syntaxe
dividend % divisor
Arguments
dividend
Expression numérique à diviser. dividend doit être une expression valide de l'un des types des catégories de données integer (entier) et monétaires, ou du type de données numeric.divisor
Expression numérique par laquelle diviser le dividende. divisor doit être toute expression valide de l'un des types des catégories de données integer (entier) et monétaires, ou du type de données numeric.
Types des résultats
Déterminés par les types de données des deux arguments.
Notes
L'opérateur arithmétique modulo peut être utilisé dans la liste de sélection de l'instruction SELECT, avec toute combinaison de noms de colonnes, de constantes numériques ou de toute expression valide de l'un des types des catégories de données entières et monétaires ou du type numeric.
Exemples
A.Exemple simple
L'exemple suivant divise le nombre 38 par 5. Cette opération produit le nombre 7 comme partie entière du résultat, et démontre comment modulo retourne le reste de 3.
SELECT 38 / 5 AS Integer, 38 % 5 AS Remainder ;
B.Exemple utilisant des colonnes dans une table
L'exemple suivant renvoie le numéro d'identification et le prix unitaire du produit, ainsi que le reste (modulo) de la division du prix de chaque produit, converti en valeur entière, par le nombre de produits commandés.
USE AdventureWorks2012;
GO
SELECT TOP(100)ProductID, UnitPrice, OrderQty,
CAST((UnitPrice) AS int) % OrderQty AS Modulo
FROM Sales.SalesOrderDetail;
GO