% (Reste) (Transact-SQL)
S’applique à : SQL Server Base de données Azure SQL Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) Point de terminaison d'analyse SQL dans Microsoft Fabric Entrepôt dans Microsoft Fabric Base de données SQL dans Microsoft Fabric
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 de données des catégories entier et monétaire, ou bien du type de données numeric.
divisor
Expression numérique par laquelle diviser le dividende. divisor doit être une expression valide de l’un des types de données des catégories entier et monétaire, ou bien du type de données numeric.
Types des résultats
Déterminés par les types de données des deux arguments.
Notes
Vous pouvez utiliser l’opérateur arithmétique modulo dans la liste de sélection de l’instruction SELECT
avec n’importe quelle combinaison de noms de colonnes, de constantes numériques ou d’une expression valide des catégories de type de données entier et monétaire, ou du type de données numérique .
Exemples
Les exemples de code Transact-SQL de cet article sont fondés sur l’échantillon de base de données AdventureWorks2022
ou AdventureWorksDW2022
fourni, que vous pouvez télécharger à partir de la page d’accueil Échantillons et projets communautaires Microsoft SQL Server.
R : Exemple de base
L’exemple suivant divise le nombre 38
par 5
. Le résultat est 7
en tant que partie entière du résultat, et 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.
SELECT TOP (100) ProductID,
UnitPrice,
OrderQty,
CAST((UnitPrice) AS INT) % OrderQty AS Modulo
FROM Sales.SalesOrderDetail;
GO
Exemples : Azure Synapse Analytics et Analytics Platform System (PDW)
C : Exemple de base
L’exemple suivant montre les résultats de l’opérateur lors de la %
3
division par 2
.
SELECT TOP(1) 3 % 2
FROM DimEmployee;
Voici le jeu de résultats.
1