%(取模)(Transact-SQL)
适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics Platform System (PDW) Microsoft Fabric 中的 SQL 终结点 Microsoft Fabric 中的仓库 Microsoft Fabric SQL 数据库
返回两数相除后的余数。
语法
dividend % divisor
参数
dividend
被除数的数值表达式。 dividend 必须为整数和货币数据类型类别中任意一种数据类型的有效表达式,或者为 numeric 数据类型。
divisor
要对其除以股息的数字表达式。 divisor 必须为整数和货币数据类型类别中任意一种数据类型的任意有效表达式,或者为 numeric 数据类型。
结果类型
由两个参数的数据类型确定。
注解
可以在语句的选择列表中 SELECT
使用模数算术运算符,该运算符具有列名、数值常量或任何整数和货币数据类型类别的任何有效表达式的组合,或 数值 数据类型。
示例
本文中的 Transact-SQL 代码示例使用 AdventureWorks2022
或 AdventureWorksDW2022
示例数据库,可从 Microsoft SQL Server 示例和社区项目主页下载它。
A. 基本示例
以下示例将数字 38
除以 5
。 结果为结果 7
的整数部分,并演示了 modulo 如何返回余数 3
。
SELECT
38 / 5 AS [Integer],
38 % 5 AS [Remainder];
B. 使用表中的列的示例
以下示例返回产品 ID 号、产品单价、除以每种产品的单价后得到的模(余数)、转换为整数值,以及订购的产品数。
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:基本示例
以下示例显示除以3
2
运算符时的结果%
。
SELECT TOP(1) 3 % 2
FROM DimEmployee;
结果集如下。
1