Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Новое на сайте
Топовые новости
Новое

Арифметические операторы

Арифметические операторыОписание Оператор сложения двух чисел; в Microsoft SQL Server также используется для конкатенации строк. За этим исключением использование данного оператора идентично во всех СУБД. Реализован во всех трех ведущих СУБД и определен в стандарте SQL:2003 — Оператор вычитания одного числового выражения из другого. Реализован во всех СУБД; также Оператор конкатенации строк относится к классу бинарных; он объединяет содержимое двух строк в одну. Выполнять арифметические операции в SQL относительно просто, однако следует уделять особое внимание типам данных. При работе с числовыми значениями также следует учитывать масштаб и точность результата; при работе с датами и временем — диапазон результирующего значения и т. д.

В некоторых базах данных (например, в Oracle) по возможности выполняются неявные преобразования, когда типы данных несовместимы с оператором (например, при использовании строкового значения с оператором сложения). В других базах (DB2 и SQL Server) обязательно выполнять преобразование явно.

Приведем некоторые примеры использования арифметических операторов. Чтобы сложить два числа, в Oracle можно выполнить следующий запрос. Результирующее значение TOTAL_VALUE — числового типа. Если в данном случае применить оператор конкатенации, результат будет совершенно другим. В данном случае СУБД Oracle неявно преобразовала числа в символы, и результат операции TOTAL_VALUE имеет уже символьный тип. В DB2 также распознается оператор конкатенации, хотя неявное преобразование не выполняется. Данный запрос, выполненный в DB2, сгенерирует ошибку, так как в этой СУБД требуется явное преобразование чисел в строки. Microsoft SQL Server работает несколько по-другому: оператор сложения используется также и для конкатенации строк. Решение относительно того, какую операцию выполнить, принимается на основе анализа типов данных операндов — числа складываются, а строки объединяются. В следующих примерах продемонстрирована эта функциональность. В приведенном далее запросе операндами выступают два целых числа, и SQL Server вычисляет их сумму — также целое число.