% (Moduł) (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsEndpoint analityki SQL w Microsoft FabricMagazyn w Microsoft FabricBaza danych SQL w Microsoft Fabric

Zwraca resztę jednej liczby podzielonej przez inną.

Transact-SQL konwencje składni

Syntax

dividend % divisor

Arguments

dividend

Wyrażenie liczbowe do dzielenia. dywidenda musi być prawidłowym wyrażeniem dowolnego z typów danych w kategoriach liczb całkowitych i pieniężnych lub typu danych liczbowych .

divisor

Wyrażenie liczbowe, według którego należy podzielić dywidendę. Dzielnik musi być dowolnym prawidłowym wyrażeniem dowolnego z typów danych w kategoriach typu danych całkowitych i pieniężnych lub typu danych liczbowych .

Typy wyników

Określone przez typy danych dwóch argumentów.

Remarks

Operator arytmetyczny modulo można użyć na liście SELECT select instrukcji z dowolną kombinacją nazw kolumn, stałych liczbowych lub dowolnego prawidłowego wyrażenia kategorii typu danych całkowitych i pieniężnych albo typu danych liczbowych .

Examples

Przykłady kodu opisane w tym artykule korzystają z przykładowej bazy AdventureWorks2025 ORAdventureWorksDW2025, którą można pobrać z repozytorium Azure Data SQL Samples Repository GitHub.

A. Przykład podstawowy

Poniższy przykład dzieli liczbę 38 na 5. Wynik jest 7 liczbą całkowitą wyniku i pokazuje, jak modulo zwraca resztę .3

SELECT
    38 / 5 AS [Integer],
    38 % 5 AS [Remainder];

B. Przykład użycia kolumn w tabeli

Poniższy przykład zwraca numer identyfikatora produktu, cenę jednostkową produktu i modulo (resztę) dzielenia ceny każdego produktu, przekonwertowanego na wartość całkowitą, na liczbę uporządkowanych produktów.

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

Przykłady: Azure Synapse Analytics

C: Podstawowy przykład

Poniższy przykład przedstawia wyniki dla operatora podczas dzielenia %3 według 2.

SELECT TOP(1) 3 % 2
FROM DimEmployee;

Oto zestaw wyników.

1