% (Módulo) (Transact-SQL)

Aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsEndpoint de analítica SQL en Microsoft FabricAlmacén en Microsoft FabricBase de datos SQL en Microsoft Fabric

Devuelve el resto de un número dividido entre otro.

Convenciones de sintaxis de Transact-SQL

Syntax

dividend % divisor

Arguments

dividend

Expresión numérica que se va a dividir. dividend debe ser una expresión válida de cualquiera de los tipos de datos de las categorías de tipos de datos enteros y de moneda, o bien del tipo de datos numeric.

divisor

Expresión numérica por la que se va a dividir el dividendo. divisor debe ser cualquier expresión válida de cualquiera de los tipos de datos de las categorías de tipos de datos enteros y de moneda, o bien del tipo de datos numeric.

Tipos de resultados

Determinados por los tipos de datos de los dos argumentos.

Remarks

Puede usar el operador aritmético módulo en la lista de selección de la SELECT instrucción con cualquier combinación de nombres de columna, constantes numéricas o cualquier expresión válida de las categorías de tipo de datos entero y monetario, o el tipo de datos numérico .

Examples

Los ejemplos de código de este artículo utilizan la AdventureWorks2025 base de datos de ejemplos de ORAdventureWorksDW2025, que puedes descargar desde el repositorio GitHub del Repositorio de Ejemplos SQL de Azure Data.

A. Ejemplo básico

En el ejemplo siguiente se divide el número 38 por 5. El resultado es 7 como la parte entera del resultado y muestra cómo el módulo devuelve el resto de 3.

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

B. Ejemplo que usa columnas de una tabla

En el siguiente ejemplo se devuelve el número de Id. del producto, el precio unitario del producto y el módulo (resto) de la división del precio de cada producto, convertido a un valor entero, por el número de productos del pedido.

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

Ejemplos: Azure Synapse Analytics

C: Ejemplo básico

En el ejemplo siguiente se muestran los resultados del % operador al dividir 3 por 2.

SELECT TOP(1) 3 % 2
FROM DimEmployee;

Este es el conjunto de resultados.

1