Udostępnij za pomocą


% (Moduł) (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Punkt końcowy analizy SQL w usłudze Microsoft FabricHurtownia danych w usłudze Microsoft FabricBaza danych SQL w usłudze 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 w tym artykule korzystają z przykładowej bazy danych AdventureWorks2025 lub AdventureWorksDW2025, którą można pobrać ze strony głównej Przykładów programu Microsoft SQL Server i projektów społeczności.

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 and Analytics Platform System (PDW)

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