2.2 Арифметичні оператори Oracle. Спеціальна таблиця DUAL
Арифметичні оператори в запитах Oracle SQL, унарні і бінарні оператори, спеціальна таблиця DUAL
Оператори - це синтаксичні конструкції мови, які призначені для виконання певних дій.
У Oracle SQL передбачено безліч операторів, як цілком звичних (наприклад, арифметичні або логічні), так і екзотичних (оператори для роботи з ієрархічними наборами записами, з безліччю записів - MULTISET). Крім того, користувачам дозволено визначати свої власні оператори. Кожен з типів операторів буде розглянуто в своєму розділі. У цьому розділі буде розглянуто тільки найпростіший тип операторів - арифметичні.
Всі оператори Oracle SQL можна поділити на два основних типи: унарні і бінарні. Унарні оператори працюють тільки з одним значенням. Наприклад, до унарним операторам відноситься оператор (-): якщо для нього використовувати тільки одне значення, він поміняє знак числа.
Бінарні оператори працюють з двома значеннями. Наприклад, в вираженні 10-7 оператор (-) - це бінарні оператор, який виробляє віднімання.
У Oracle SQL передбачений стандартний набір арифметичних операторів, які знайомі нам з дитинства:
До арифметичним також відносяться унарні оператори (+) і (-), які визначають знак числа. Пріоритет арифметичних операторів також звичний: найвищий пріоритет у унарних операторів, потім виконується множення і ділення, а після цього - додавання і віднімання. Порядок застосування операторів регулюється круглими дужками.
Застосування унарна оператора до значення типу NULL дасть в результаті NULL.
Арифметичні оператори можна використовувати навіть в таких запитах, в яких взагалі не використовуються стовпці:
SELECT 10 * 15 FROM hr.employees;
Однак в цьому випадку результат буде повторений 107 разів, що, швидше за все, нам не потрібно. Для виконання запитів, в яких взагалі не використовуються стовпчики з бази даних, в Oracle зарезервована спеціальна таблиця DUAL (в SQL Server вона не передбачена). У цій таблиці - всього один стовпець DUMMY з єдиним значенням x. Наш запит з використанням цієї службової таблиці може виглядати так:
SELECT 10 * 15 FROM DUAL;
Отримати навчальні матеріали за цим курсом