% (模數) (Transact-SQL)

適用於:SQL ServerAzure SQL 資料庫Azure SQL 受控執行個體Azure Synapse AnalyticsAnalytics Platform System (PDW)Microsoft Fabric 中的 SQL 分析端點Microsoft Fabric 中的倉儲

傳回某個數值除以另一個數值的餘數。

Transact-SQL 語法慣例

Syntax

dividend % divisor

注意

若要檢視 SQL Server 2014 (12.x) 和舊版的 Transact-SQL 語法,請參閱 舊版檔

引數

dividend

要當做被除數的數值運算式。 dividend 必須是整數與貨幣資料類型類別目錄中任何一個資料類型,或是 numeric 資料類型的有效運算式

divisor

要分割分紅的數值表達式。 divisor 必須是整數與貨幣資料類型類別目錄中任何一個資料類型,或是 numeric 資料類型的任何有效運算式。

結果類型

由兩個引數的資料類型決定。

備註

您可以在語句的 SELECT 選取清單中,使用模數算術運算符搭配任何數據行名稱、數值常數,或整數和貨幣數據類型類別的任何有效表達式,或是 數值 數據類型。

範例

本文中的 Transact-SQL 程式代碼範例會使用AdventureWorks2022範例資料庫,您可以從 Microsoft SQL Server 範例和社群專案首頁下載

A. 基本範例

下列範例會將數位 38 除以 5。 結果為 7 結果的整數部分,並示範模數如何傳回 的 3餘數。

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

B. 在資料表中使用資料行的範例

下列範例會傳回產品識別碼、產品單價以及將每個產品價格 (轉換為整數值) 除以訂購產品數的模數 (餘數)。

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

範例:Azure Synapse Analytics 和 Analytics Platform System (PDW)

C:基本範例

下列範例顯示除32時運算符的結果%

SELECT TOP(1) 3 % 2
FROM DimEmployee;

以下為結果集。

1