Freigeben über


Modulo (Transact-SQL)

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

Gilt für: SQL Server (SQL Server 2008 bis aktuelle Version), Windows Azure SQL-Datenbank (Ursprüngliche Version bis aktuelle Version).

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 werden soll. divisor muss ein gültiger Ausdruck eines Datentyps aus den 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

A.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 AdventureWorks2012;
GO
SELECT TOP(100)ProductID, UnitPrice, OrderQty,
   CAST((UnitPrice) AS int) % OrderQty AS Modulo
FROM Sales.SalesOrderDetail;
GO

Siehe auch

Verweis

Integrierte Funktionen (Transact-SQL)

LIKE (Transact-SQL)

Operatoren (Transact-SQL)

SELECT (Transact-SQL)

Modulo EQUALS (Transact-SQL)

Verbundoperatoren (Transact-SQL)