Compartir a través de


% (Módulo) (Transact-SQL)

Se aplica a:SQL ServerAzure SQL DatabaseInstancia administrada de Azure SQLAzure Synapse AnalyticsAnalytics Platform System (PDW)Punto de conexión de SQL Analytics 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 usan la base de datos de ejemplo de AdventureWorks2025 o AdventureWorksDW2025, que puede descargar de la página principal de Ejemplos de Microsoft SQL Server y proyectos de comunidad.

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 y Sistema de la plataforma de análisis (PDW)

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