Sdílet prostřednictvím


% (Moduls) (Transact-SQL)

Platí pro:SQL ServerAzure SQL DatabaseSpravovaná instance Azure SQLAzure Synapse AnalyticsAnalytics Platform System (PDW)Koncový bod analýzy SQL v Microsoft FabricSklad v Microsoft FabricDatabáze SQL v Microsoft Fabric

Vrátí zbytek jednoho čísla děleného jiným číslem.

Transact-SQL konvence syntaxe

Syntax

dividend % divisor

Arguments

dividend

Číselný výraz, který se má dělit. dividenda musí být platným výrazem libovolného z datových typů v celočíselných kategoriích a kategoriích peněžních datových typů nebo číselného datového typu.

divisor

Číselný výraz, kterým se má dělit dividenda. dělitel musí být libovolný platný výraz libovolného z datových typů v celočíselných kategoriích a kategoriích peněžních datových typů nebo číselného datového typu.

Typy výsledků

Určuje datové typy těchto dvou argumentů.

Remarks

V seznamu výběrových SELECT příkazů můžete použít aritmetický operátor modulo s libovolnou kombinací názvů sloupců, číselných konstant nebo libovolného platného výrazu kategorií celočíselných a peněžních datových typů nebo číselného datového typu.

Examples

Ukázky kódu v tomto článku používají ukázkovou databázi AdventureWorks2025 nebo AdventureWorksDW2025, kterou si můžete stáhnout z domovské stránky Microsoft SQL Serveru pro ukázky a komunitní projekty .

A. Základní příklad

Následující příklad vydělí číslo 38 číslem 5. Výsledek je 7 jako celočíselná část výsledku a ukazuje, jak modulo vrátí zbytek 3.

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

B. Příklad použití sloupců v tabulce

Následující příklad vrátí číslo ID výrobku, jednotkovou cenu produktu a modulo (zbytek) rozdělení ceny každého produktu převedené na celočíselnou hodnotu na počet objednaných produktů.

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

Příklady: Azure Synapse Analytics a Analytický platformový systém (PDW)

C: Základní příklad

Následující příklad ukazuje výsledky operátoru % při dělení 3 .2

SELECT TOP(1) 3 % 2
FROM DimEmployee;

Tady je soubor výsledků.

1