Ms sql остаток от деления: % (остаток от деления) (Transact-SQL) — SQL Server

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






Twitter




LinkedIn




Facebook




Адрес электронной почты










  • Статья



Применимо к: SQL Server Azure SQL DatabaseУправляемый экземпляр SQL AzureAzure Synapse Analytics AnalyticsPlatform System (PDW)Конечная точка SQL в Microsoft FabricWarehouse в Microsoft Fabric

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

Соглашения о синтаксисе Transact-SQL

Синтаксис

dividend % divisor  

Примечание

Ссылки на описание синтаксиса Transact-SQL для SQL Server 2014 и более ранних версий, см. в статье Документация по предыдущим версиям.

Аргументы

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

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

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

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

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

Примеры

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

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

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

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

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

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

Примеры: Azure Synapse Analytics и Система платформы аналитики (PDW)

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

В приведенном ниже примере показаны результаты применения оператора % при делении 3 на 2.

-- Uses AdventureWorks  
  
SELECT TOP(1) 3%2 FROM dimEmployee;  

Результирующий набор:

---------   
1         

См.

также:

Встроенные функции (Transact-SQL)
LIKE (Transact-SQL)
Операторы (Transact-SQL)
SELECT (Transact-SQL)
–= (присваивание модуля) (Transact-SQL)
Составные операторы (Transact-SQL)






НОУ ИНТУИТ | Лекция | Компоненты языка Transact-SQL

< Урок 29 || Урок 23: 12345678910

Аннотация: Как и в любом языке программирования, программы Transact-SQL состоят из набора операторов. Оператор представляет собой инструкцию, которая описывает (во всех подробностях) некоторое действие, которое должен совершить Microsoft SQL Server.
Оператор состоит из некоторой комбинации команд, выражений, функций, операций и символов. Оператор может быть простым, как одиночная команда GO, которую вы используете для разделения пакетов операторов в сценариях, или составным, состоящим из комбинации некоторых компонентов. Рассмотрим компоненты языка Transact-SQL.

Ключевые слова: побитные операции, операция конкатенации, функция даты/времени, строковая функция, Transact-SQL, операторы, операции, delimiter, SQL, server, editor, pane, запрос, analyzer, designer, Enterprise Manager, конструктор, table, языки управления, truncation, язык определения данных DDL, DDL, GRANT, REVOKE, RESTORE, kill, operator, cardinality, бинарная операция, составной оператор, precedence, приоритет операций, modulo, арифметический оператор, arithmetic, comparison, логический оператор, bitwise, concatenation, функция, множества, user-defined, Object Browser, deterministic, ACO, ceiling, COTS, degree, floor, radian, seed, mathematize, aggregation, table column, DataType, metadata, имя учетной записи, пользователи базы данных, soundex

Вы научитесь:

  • intuit.ru/2010/edi»>использовать арифметические действия в операторе SELECT;
  • использовать операции сравнения в фразе WHERE;
  • использовать логические операции в операторе SELECT;
  • использовать побитные операции в операторе SELECT;
  • использовать операции конкатенации в операторе SELECT;
  • использовать функции даты;
  • использовать математические функции;
  • использовать функции агрегирования;
  • использовать функции метаданных;
  • использовать функции безопасности;
  • использовать строковые функции;
  • intuit.ru/2010/edi»>использовать системные функции.

Команды Transact-SQL

В основе языка Transact-SQL лежат команды: «стержневые» операторы, описывающие фундаментальные операции, которые может выполнить язык.

Зарезервированные слова

Зарезервированное слово – это одно из средств, используемых языком Transact-SQL. Если вы используете зарезервированное слово как идентификатор, например, в качестве имени столбца, вы должны окружить это имя специальными символами, называемыми ограничителями (delimiters). В Microsoft SQL Server ограничительными символами являются [ и ]. Например, если вы используете SELECT в качестве имени столбца, вы должны при ссылке на этот столбец в запросе указать [SELECT], чтобы SQL Server воспринял это как идентификатор. (По возможности старайтесь избегать использования зарезервированных слов в качестве идентификаторов.)

То, что мы называем командой, в документации SQL Server Books Online обозначается как «зарезервированные ключевые слова» (reserved keywords). Этот термин не очень удачен, поскольку нет большого различия между «зарезервированные ключевые слова» и любым другим зарезервированным словом. По этой причине мы будем использовать термин команда (command), который означает определенный набор зарезервированных ключевых слов, которые представляют действия, выполняемые SQL Server.

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

Изучать команды Transact-SQL будет намного проще, если разделить их на группы по типу выполняемых действий, например таких, как манипулирование данными в таблице или представлении, или управление операционным окружением SQL Server.

Мы уже использовали команды Transact-SQL. Например, вводили их в панели редактирования Editor Pane окна Query (Запрос) анализатора запросов Query Analyzer, а также в панели SQL Pane конструктора запросов Query Designer в Enterprise Manager. Кроме того, мы использовали их косвенно применяя утилиты, которые выполняют команды Transact-SQL «за сценой». Конструктор таблиц Table Designer в Enterprise Manager, например, формирует операторы CREATE и ALTER, основываясь на заданных вами параметрах.

Общение с SQL Server

Большинство приложений баз данных используют традиционный язык программирования, такой как Microsoft Visual Basic, для создания интерактивного интерфейса с SQL Server. Используя средства интерфейса, предоставляемые языком, эти приложения представляют данные пользователям в удобной и «дружественной» форме. «За сценой» же они, тем не менее, используют команды Transact-SQL. Как Enterprise Manager, так и анализатор запросов Query Analyzer в SQL Server как раз и являются приложениями для работы с базами данных, которые выполняют эту задачу.

Когда вы используете обычные языки программирования, язык сам определяет, как исполнить команды. Некоторые окружения, например такие, как Microsoft Access, предоставляют интерактивные программные инструменты, схожие с Enterprise Manager и Query Analyzer. Другие, такие как Visual Basic или Microsoft Visual C++, используют объектную модель типа ADO для взаимодействия с сервером.

Команды манипулирования данными

Наиболее важные команды SQL относятся к группе команд языка управления данными (DML), который мы рассматривали ранее. Команды DML используются для вставки, изменения, удаления и извлечения данных.

Команды DML представлены в таблице 24.1. Большинство из них вам хорошо знакомы из уроков частей 3 и 4. Командами, с которыми мы не сталкивались, являются BULK INSERT – позволяющая вставлять множество строк из файла данных, и USE – указывающая на базу данных, которая будет использоваться в SQL-сценарии.

Таблица
24.1.
Команды DML
КомандаФункция
INSERTВставляет строки в таблицу или представление.
UPDATEИзменяет строки в таблице или представлении.
DELETEУдаляет строки из таблицы или представления.
SELECTИзвлекает строки из таблицы или представления.
TRUNCATE TABLEУдаляет все строки из таблицы или представления.
BULK INSERTВставляет строки из файла данных в таблицу или представление.
USEВыполняет соединение с базой данных.
Команды определения данных

Команды языка определения данных (DDL) представлены в таблице 24. 2. Команды DDL используются для создания, изменения и удаления объектов базы данных. В этом языке существует только три основных команды, каждая команда имеет несколько вариаций, зависящих от характера создаваемого вами объекта базы данных (см.
«Язык определения данных»
).

Таблица
24.2.
Команды DDL.
КомандаФункция
CREATEОпределяет новый объект базы данных.
ALTERИзменяет определение объекта базы данных.
DROPУдаляет объект базы данных из базы данных.

Дальше >>

< Урок 29 || Урок 23: 12345678910

Модуль SQL Server (%) Оператор

Учебник по SQL Server

  • SQL Server — домашний
  • SQL Server — Введение
  • SQL Server — Комментарии
  • SQL Server — типы данных
  • SQL Server — операторы
  • SQL Server — Оператор SELECT
  • SQL Server — ключевое слово DISTINCT
  • SQL Server — пункт WHERE
  • SQL Server — И, ИЛИ И НЕ
  • SQL Server — КАК пункт
  • SQL Server — ПЕРВАЯ статья
  • SQL Server — Заявление об обновлении
  • SQL Server — инструкция DELETE
  • SQL Server — ВСТАВЬТЕ В
  • SQL Server — ЗАКАЗАТЬ ПО
  • SQL Server — ГРУППА ПО
  • SQL Server — МИН. И МАКС.
  • SQL Server — СЧЁТ, СУММА И СРЕДНЕЕ
  • SQL Server — функция NULL
  • SQL Server — СЛУЧАЙ
  • SQL Server — сортировка результатов

Расширенный SQL-сервер

  • SQL Server — ПРИСОЕДИНЯЙТЕСЬ
  • SQL Server — ВНУТРЕННЕЕ СОЕДИНЕНИЕ
  • SQL Server — ЛЕВОЕ СОЕДИНЕНИЕ
  • SQL Server — ПРАВОЕ СОЕДИНЕНИЕ
  • SQL Server — ПОЛНОЕ СОЕДИНЕНИЕ
  • SQL Server — САМОСОЕДИНЕНИЕ
  • SQL Server — пункт UNION
  • SQL Server — пункт
  • ПЕРЕСЕЧЕНИЯ

  • SQL Server — ЗА ИСКЛЮЧЕНИЕМ пункта
  • SQL Server — наличие пункта
  • SQL Server — подстановочные знаки
  • SQL Server — синтаксис псевдонима
  • SQL Server — ДАТЫ
  • SQL Server — ПРОСМОТР
  • SQL Server — подзапрос
  • SQL Server — хранимые процедуры

База данных SQL-сервера

  • SQL Server — СОЗДАТЬ БАЗУ ДАННЫХ
  • SQL Server — УДАЛЕНИЕ БАЗЫ ДАННЫХ
  • SQL Server — ВЫБЕРИТЕ БАЗУ ДАННЫХ
  • SQL Server — СОЗДАТЬ ТАБЛИЦУ
  • SQL Server — УДАЛИТЬ ТАБЛИЦУ
  • SQL Server — ИЗМЕНЕНИЕ ТАБЛИЦЫ
  • SQL Server — TRUNCATE ТАБЛИЦА
  • SQL Server — ОГРАНИЧЕНИЯ
  • SQL Server — НЕ NULL
  • SQL Server — УНИКАЛЬНЫЙ
  • SQL Server — ПЕРВИЧНЫЙ КЛЮЧ
  • SQL Server — ВНЕШНИЙ КЛЮЧ
  • SQL Server — ПРОВЕРКА
  • SQL Server —
  • ПО УМОЛЧАНИЮ

  • SQL Server — ИНДЕКС
  • SQL Server — АВТОМАТИЧЕСКОЕ УВЕЛИЧЕНИЕ

Ссылки на SQL Server

  • SQL Server — ключевые слова
  • Функции SQL Server


Оператор SQL Server (Transact-SQL) % (по модулю) используется для вычисления остатка от операции деления. Он работает с числовыми значениями.

В приведенном ниже примере показано, как использовать оператор по модулю в различных условиях:

Пример:

Рассмотрим таблицу базы данных с именем Пример со следующими записями:

9 0151 Данные2

90 151 6

Данные Вар1 Вар2
Данные1 10 1
15 2
Данные3 20 3
Данные4 25 4
Данные5 30 5
Данные6 35

  • Использование с WHERE Пункт : Чтобы выбрать записи таблицы, где значение столбца Var1 делится на значение столбца Var2 , запрос приведен ниже.

    ВЫБЕРИТЕ * ИЗ Образца
    ГДЕ Var1 % Var2 == 0;
     

    Запрос даст следующий результат:

    Данные Вар1 Вар2
    Данные1 10 1
    Данные5 30 5
  • Использование с пунктом AS: значение операции Var1 % Var2 может отображаться в другом столбце с использованием пункта AS:

    SELECT *, (Var1 % Var2) AS Остаток FROM Sample;
     

    Запрос даст следующий результат:

    901 49

    Данные Переменная1 Переменная2 Остаток
    Данные1 10 1 0
    Данные2 15 2 1
    Данные3 20 3 2
    Данные4 25 4 1
    Данные5 30 5 0
    Данные6 35 6 5
  • Использование с пунктом UPDATE : Чтобы обновить столбец Var1 со значением операции Var1 % Var2 , запрос приведен ниже:

    ОБНОВЛЕНИЕ Пример
    НАСТРОЙКА Var1 = Var1 % Var2;
    
    --Посмотреть результат
    ВЫБЕРИТЕ * ОТ Образца;
     

    Запрос даст следующий результат:

    90 142

    Данные Переменная1 Переменная2
    Данные1 0 1
    Данные2 1 2
    Данные3 2 3
    Данные4 1 4
    Данные5 901 52

    0 5
    Данные6 5 6
  • Использование со значениями : Чтобы вычислить остаток от операции деления, мы можем просто использовать оператор SELECT:

    ВЫБЕРИТЕ 100 % 60;
     

    Запрос даст следующий результат:

    40
    
    (затронуты 1 ряд)
     

❮ Операторы SQL Server


mysql — Как получить частное и остаток от деления

спросил

Изменено
1 год, 6 месяцев назад

Просмотрено
69 тысяч раз

У меня есть одна таблица сотрудников , которая содержит:

 emp id Sum
------ ---
1 7
2 6
 

Мне нужен SQL-запрос для получения частного и остатка при делении суммы на 8. уло

1

Используйте операторы целочисленного деления и модуляции, чтобы получить частное и остаток:

 SELECT
    emp_id,
    сумма,
    сумма / 8 AS Результат,
    сумма деления 8 AS Частное,
    сумма по модулю 8 AS Остаток
ОТ сотрудника
 
 emp_id сумма Результат Частное Остаток
1 7 0,8750 0 7
2 6 0,7500 0 6
3 9 1,1250 1 1
4 10 1,2500 1 2
5 11 1,3750 1 3
6 12 1,5000 1 4
7 13 1,6250 1 5
8 14 1,7500 1 6
915 1,8750 1 7
10 16 2,0000 2 0
 

Каким будет возвращаемый тип вашего qoutient? Если вам все равно, будет ли это число с плавающей запятой или целое число (целое число). Вы можете попробовать это.

 ВЫБОР
       (сумма / 8) AS qoutient,
       (сумма % 8) AS напоминание
  ОТ сотрудника
 

Вы можете использовать функцию mysql DIV, чтобы получить qoutient
(http://dev.mysql.com/doc/refman/5.0/en/arithmetic-functions.html#operator_div):

 SELECT 14 DIV 3
 

вернет 4

Это должно сработать

Что касается остатка, другие ответили

, вы можете использовать оператор % , чтобы получить остаток.