Partager via


Modulo (Transact-SQL)

Renvoie le reste d'un nombre divisé par un autre.

Icône Lien de rubrique 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

Voir aussi

Référence

Fonctions intégrées (Transact-SQL)

LIKE (Transact-SQL)

Opérateurs (Transact-SQL)

SELECT (Transact-SQL)

Modulo EQUALS (Transact-SQL)

Opérateurs composés (Transact-SQL)