% (Módulo) (Transact-SQL)

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

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

dividend % divisor

Argumentos

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

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

Tipos de resultado

Determinados por los tipos de datos de los dos argumentos.

Notas

El operador aritmético de módulo puede utilizarse en la lista de selección de la instrucción SELECT con cualquier combinación de nombres de columnas, constantes numéricas o cualquier expresión válida de las categorías de tipos de datos entero y monetario o del tipo de datos numeric.

Ejemplos

A. Ejemplo sencillo

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

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

B. Ejemplo que usa las 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.

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