Megosztás a következőn keresztül:


% (Modulus) (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példányAzure Synapse AnalyticsElemzési platformrendszer (PDW)SQL Analytics-végpont a Microsoft FabricbenRaktár a Microsoft FabricbenSQL-adatbázis a Microsoft Fabricben

Egy szám fennmaradó részét adja vissza egy másikkal osztva.

Transact-SQL szintaxis konvenciók

Syntax

dividend % divisor

Arguments

dividend

Az osztandó numerikus kifejezés. az osztaléknak érvényes kifejezésnek kell lennie az egész szám- és pénzbeli adattípus-kategóriák bármelyik adattípusának, illetve a numerikus adattípusnak.

divisor

Az a numerikus kifejezés, amellyel feloszthatja az osztalékot. az osztónak érvényes kifejezésnek kell lennie az egész szám- és pénzbeli adattípus-kategóriák bármelyik adattípusának, illetve a numerikus adattípusnak.

Eredménytípusok

A két argumentum adattípusai határozzák meg.

Remarks

A modulo aritmetikai operátort az utasítás kiválasztási SELECT listájában használhatja az oszlopnevek, numerikus állandók vagy az egész szám- és pénzbeli adattípus-kategóriák bármely érvényes kifejezésével, illetve a numerikus adattípussal.

Examples

A cikkben szereplő kódminták a AdventureWorks2025 vagy AdventureWorksDW2025 mintaadatbázist használják, amelyet a Microsoft SQL Server-minták és közösségi projektek kezdőlapjáról tölthet le.

A. Egyszerű példa

Az alábbi példa a számot osztja el a következővel 385: Az eredmény 7 az eredmény egész része, és bemutatja, hogy a modulo hogyan adja vissza a fennmaradó részt 3.

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

B. Példa egy tábla oszlopainak használatára

Az alábbi példa a termék azonosítószámát, a termék egységárat és az egyes termékek árát egész számmá konvertált termék árának a megrendelt termékek számára (fennmaradó része) adja vissza.

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

Példák: Azure Synapse Analytics and Analytics Platform System (PDW)

C: Egyszerű példa

Az alábbi példa az % operátor osztási 32eredményeit mutatja be.

SELECT TOP(1) 3 % 2
FROM DimEmployee;

Itt van az eredmények összessége.

1