% (Modulo) (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Analytics-Endpunkt in Microsoft FabricWarehouse in Microsoft Fabric

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

Transact-SQL-Syntaxkonventionen

Syntax

dividend % divisor

Hinweis

Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 (12.x) und früher finden Sie unter Dokumentation zu früheren Versionen.

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

Dieser Artikel erfordert die AdventureWorks2022-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 Re Standard der des 3Ergebnisses 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 ist das Resultset.

1