Унарные и бинарные операторы Oracle
Вступление
Два основных класса операторов:
унарный: унарный оператор - это оператор, который работает только с одним операндом. Вот формат:
операнд оператора
Пример: +2460, -300
двоичный : оператор называется двоичным, если он работает с двумя операндами. Вот формат:
операнд1 оператор операнд2
Пример: 1254 + 2564, 2460-300
Другие операторы со специальными форматами принимают более двух операндов. Если оператору дан нулевой операнд, то результат всегда будет нулевым. Конкатенация (||) не следует этому правилу.
Приоритет оператора
Приоритет - это порядок, в котором база данных оценивает различные операторы в одном и том же выражении. При оценке выражения, содержащего несколько операторов (например, +, -, /), приоритет оператора оценивает операторы с более высоким приоритетом, прежде чем оценивать операторы с более низким приоритетом. Приоритет оператора оценивает операторы с одинаковым приоритетом слева направо в выражении.
Если в выражении есть круглые скобки, то оно вычисляется первым, а остальная часть, находящаяся вне скобок, вычисляется следующим. Oracle вычисляет операторы с одинаковым приоритетом слева направо в выражении.
В следующей таблице перечислены уровни приоритета операторов Oracle от высокого до низкого.
операторы | операция |
---|---|
+, - (как унарные операторы) ПРИОР CONNECT_BY_ROOT | тождественность отрицание расположение в иерархии |
* / | умножение деление |
+ - (как бинарные операторы) || | прибавление Вычитание конкатенация |
Примеры: бинарные операторы
+ оператор:
Вы можете использовать оператор +, чтобы добавить два числовых значения. Вот пример:
SQL> SELECT 125 + 34 FROM DUAL;
Пример вывода:
125 + 34 ---------- 159
- оператор:
Вы можете использовать оператор - вычитать два числовых значения. Вот пример:
SQL> SELECT 125 - 34 ОТ ДВОЙНОГО; 125-34 ---------- 91
* оператор:
Вы можете использовать оператор * для умножения одного числа на другое. Вот пример:
SQL> SELECT 125 * 34 ОТ ДВОЙНОГО; 125 * 34 ---------- 4250
/ оператор:
Вы можете использовать оператор /, чтобы отделить одно число от другого. Вот пример:
SQL> SELECT 125/34 ОТ ДВОЙНОГО; 125/34 ------------ 3.67647059
Пример - 1: Приоритет операторов Oracle
В следующем выражении умножение имеет более высокий приоритет, чем сложение, поэтому Oracle сначала умножает 20 на 30, а затем добавляет результат к 10.
SQL> SELECT 10 + 20 * 30 ОТ ДВОЙНОГО; 10 + 20 * 30 ---------- 610
Вы можете использовать скобки в выражении, чтобы переопределить приоритет оператора. Oracle оценивает выражения в круглых скобках, прежде чем оценивать их снаружи.
Следующее выражение в запросе Oracle возвращает разные результаты:
SQL> SELECT 12 * 2 + 24 FROM DUAL; 12 * 2 + 24 ---------- 48
SQL> SELECT 12 * (2 + 24) FROM DUAL; 12 * (2 + 24) ---------- 312
Предыдущая: Литералы
Далее: Арифметические операторы
Новый контент: Composer: менеджер зависимостей для PHP , R программирования