共用方式為


% (模數) (Transact-SQL)

適用於:SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW) SQL 分析端點在 Microsoft Fabric 倉儲的 Microsoft Fabric SQL 資料庫中Microsoft網狀架構

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

Transact-SQL 語法慣例

語法

dividend % divisor

引數

dividend

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

divisor

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

結果類型

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

備註

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

範例

本文 Transact-SQL 程式碼範例使用 AdventureWorks2022AdventureWorksDW2022 範例資料庫,從 Microsoft SQL Server Samples 和 Community Projects (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