Поделиться через


% (остаток от деления) (Transact-SQL)

Возвращает остаток от деления одного числа на другое.

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

dividend % divisor

Аргументы

  • dividend
    Числовое выражение — делимое. Аргумент dividend должен быть допустимым выражением любого типа из категорий целых или денежных типов данных или типа numeric.

  • divisor
    Делитель. Аргумент divisor должен быть любым допустимым выражением любого типа из категории целых или денежных типов либо иметь тип numeric.

Типы результата

Определяются типами данных обоих аргументов.

Замечания

Оператор взятия остатка от деления можно использовать в списке выбора инструкции SELECT с любым сочетанием имен столбцов, числовых констант или любым допустимым выражением из категории целочисленных или денежных типов, а также типа numeric.

Примеры

A. Простой пример

В следующем примере выполняется деление числа 38 на 5. Это приводит к получению числа 7, являющегося целой частью результата, и показывает, что в качестве остатка от деления возвращается число 3.

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

B. Пример с использованием столбцов в таблице

Следующий пример возвращает код продукта, цену единицы модуля продукта и остаток от деления цены каждого продукта, преобразовывает к целому значению, в количество заказанных продуктов.

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