% (Módulo) (Transact-SQL)
Devuelve el resto de un número dividido entre otro.
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.
Comentarios
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 por5. 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 identificador 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 AdventureWorks2008R2;
GO
SELECT TOP(100)ProductID, UnitPrice, OrderQty,
CAST((UnitPrice) AS int) % OrderQty AS Modulo
FROM Sales.SalesOrderDetail;
GO