% (Modulo) (Transact-SQL)

Gibt den Rest der Division einer Zahl durch eine andere zurück.

Themenlink (Symbol)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 ganze Zahlen und Währungen oder vom Datentyp numeric sein.

  • divisor
    Der numerische Ausdruck, durch den der Dividend geteilt wird. divisor muss ein gültiger Ausdruck eines beliebigen Datentyps der Datentypkategorien für ganze Zahlen und Währungen oder vom Datentyp numeric sein.

Ergebnistypen

Die Ergebnistypen werden von den Datentypen der beiden Argumente bestimmt.

Hinweise

Der arithmetische Operator Modulo kann mit jeder Kombination aus Spaltennamen, numerischen Konstanten oder einem gültigen Ausdruck aus den Datentypkategorien für ganze Zahlen oder Währungen oder vom Datentyp numeric in der SELECT-Liste der SELECT-Anweisung verwendet werden.

Beispiele

Einfaches Beispiel

Im folgenden Beispiel wird die Zahl 38 durch 5 geteilt. Das Ergebnis 7 ist der ganzzahlige Anteil am Ergebnis, woraus sich ein Rest (Modulo) von 3 ergibt.

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.

USE AdventureWorks;
GO
SELECT TOP(100)ProductID, UnitPrice, OrderQty,
   CAST((UnitPrice) AS int) % OrderQty AS Modulo
FROM Sales.SalesOrderDetail;
GO