% (Modulo) (Transact-SQL)
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) SQL-Analyseendpunkt in Microsoft Fabric Warehouse in Microsoft Fabric SQL-Datenbank in Microsoft Fabric
Gibt den Rest der Division einer Zahl durch eine andere zurück.
Transact-SQL-Syntaxkonventionen
Syntax
dividend % divisor
Argumente
dividend
Der zu dividierende numerische Ausdruck. dividend muss ein gültiger Ausdruck eines Datentyps aus den Datentypkategorien für Ganzzahlen und Währungen oder vom Datentyp numeric sein.
divisor
Der numerische Ausdruck, durch den die Dividende dividiert werden soll. divisor muss ein gültiger Ausdruck eines Datentyps aus den Datentypkategorien für Ganzzahlen und Währungen oder vom Datentyp numeric sein.
Ergebnistypen
Die Ergebnistypen werden von den Datentypen der beiden Argumente bestimmt.
Hinweise
Sie können den modulo arithmetischen Operator in der Auswahlliste der SELECT
Anweisung mit einer beliebigen Kombination aus Spaltennamen, numerischen Konstanten oder einem gültigen Ausdruck der Kategorien für ganzzahlige und monetäre Datentypen oder den numerischen Datentyp verwenden.
Beispiele
Die Transact-SQL-Codebeispiele in diesem Artikel verwenden die AdventureWorks2022
- oder AdventureWorksDW2022
-Beispieldatenbank, die Sie von der Homepage Microsoft SQL Server Samples and Community Projects herunterladen können.
A. Einfaches Beispiel
Im folgenden Beispiel wird die Zahl 38
durch dividiert.5
Das Ergebnis entspricht 7
dem ganzzahligen Teil des Ergebnisses und veranschaulicht, wie modulo den Rest des 3
Ergebnisses zurückgibt.
SELECT
38 / 5 AS [Integer],
38 % 5 AS [Remainder];
B. Beispiel für Spalten in einer Tabelle
Das folgende Beispiel gibt die Product ID, den Einzelpreis des Produkts und den Modulo (Rest) aus der Division des Preises jedes Produkts, konvertiert in eine ganze Zahl, durch die Anzahl der bestellten Produkte zurück.
SELECT TOP (100) ProductID,
UnitPrice,
OrderQty,
CAST((UnitPrice) AS INT) % OrderQty AS Modulo
FROM Sales.SalesOrderDetail;
GO
Beispiele: Azure Synapse Analytics und Analytics-Plattformsystem (PDW)
C: Einfaches Beispiel
Das folgende Beispiel zeigt Ergebnisse für den %
Operator beim Dividieren 3
durch 2
.
SELECT TOP(1) 3 % 2
FROM DimEmployee;
Hier sehen Sie das Ergebnis.
1