Freigeben über


% (Modulo) (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankVerwaltete Azure SQL-InstanzAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL-Analyseendpunkt in Microsoft FabricLagerhaus in Microsoft FabricSQL-Datenbank in Microsoft Fabric

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

Transact-SQL-Syntaxkonventionen

Syntax

dividend % divisor

Arguments

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.

Remarks

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.

Examples

Die Codebeispiele in diesem Artikel verwenden die AdventureWorks2025- oder AdventureWorksDW2025 Beispieldatenbank, die Sie von der Microsoft SQL Server Samples and Community Projects Homepage 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 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 sehen Sie das Ergebnis.

1