SAP Профспілка HANA та всі профспілки: OperaПриклади тор
⚡ Розумний підсумок
SAP ХАНА Operator виконує обчислення, порівняння значень або присвоєння всередині SQL. Існує шість сімейств операторів: унарні та бінарні, арифметичні, рядкові, оператори порівняння, логічні та оператори множин, такі як UNION та INTERSECT.

SAP ХАНА Operator можна використовувати для обчислень, порівняння значень або для призначення значення.
SAP ХАНА Operaторс
- Унарний і двійковий Operaтор
- Арифметика Operaтор
- рядок Operaторс
- порівняння Operaтор
- логічний Operaтор
- Установка Operaтор
Кожен оператор повертає значення, тому вони можуть бути вкладені один в одного. Порядок їх обчислення визначається пріоритетом, що пояснюється після окремих сімейств.
Унарний і двійковий Operaтор
| Operaтор | Operaції | Опис |
|---|---|---|
| Одинарний | Унарний оператор застосовується до одного операнда | Унарний оператор плюс (+) Унарний оператор заперечення (-) Логічне заперечення (NOT) |
| двійковий | Двійковий файл Operator застосовується до двох операндів | Множничі оператори (*, /) Адитивні оператори (+,-) Оператори порівняння (=,!=,<,>,<=,>=) Логічні оператори (І, АБО) |
Арифметика Operaтор
- Додавання (+)
- нижчеtracція (-)
- Множення ( * )
- Ділення ( / )
рядок Operaтор
Рядок Operator — це оператор конкатенації, який поєднує два елементи, такі як рядки, вирази або константи, в один.
Дві вертикальні смуги «||» використовується як оператор конкатенації.
порівняння Operaтор
Оператор порівняння використовується для порівняння двох операндів. Нижче наведено список порівняння Operaтор-
- Дорівнює ( = )
- Більше (>)
- Less ніж (<)
- Більше або дорівнює ( >= )
- Less ніж або дорівнює ( <= )
- Не дорівнює (!= , <> )
логічний Operaтор
Логічний оператор використовується в критеріях пошуку.
Наприклад WHERE умова1 І / АБО / НЕ умова2
Нижче наведено список логічних операторів –
- І – (наприклад, ДЕ умова1 І умова2)
Якщо і Умова1, і Умова2 є істинними, тоді умова об’єднання є істинною, інакше вона буде хибною. - АБО – (наприклад, ДЕ умова1 АБО умова2)
Якщо Умова1 АБО Умова2 є істинною, тоді умова об’єднання є істинною або хибною, якщо обидві умови є хибними. - НЕ – (наприклад, ДЕ НЕ умова)
Умова НЕ є істинною, якщо умова невірна.
Установка Operaторс
- UNION – Об'єднує два або багато операторів SELECT або запитів без дублювання.
- UNION ALL – Об'єднує два або декілька операторів SELECT або запитів, включаючи всі дублікати рядків.
- ПЕРЕТІНЕННЯ – Об'єднує два або багато операторів SELECT або запитів та повертає всі спільні рядки.
- EXCEPT – Бере вивід першого запиту та видаляє рядок, вибраний другим запитом.
Напр У мене є дві таблиці (table1, table2), у яких деякі значення є спільними.
Ми використовуємо оператор Set (Union, Union ALL, Intersect,крім) для цих двох таблиць SQL як зазначено нижче -
Створіть таблицю 1 – сценарій SQL
CREATE COLUMN TABLE DHK_SCHEMA.TABLE1 ( ELEMENT CHAR(1), PRIMARY KEY (ELEMENT) ); INSERT INTO DHK_SCHEMA.TABLE1 VALUES ('P'); INSERT INTO DHK_SCHEMA.TABLE1 VALUES ('Q'); INSERT INTO DHK_SCHEMA.TABLE1 VALUES ('R'); INSERT INTO DHK_SCHEMA.TABLE1 VALUES ('S'); INSERT INTO DHK_SCHEMA.TABLE1 VALUES ('T');
Створіть таблицю 2 – сценарій SQL
CREATE COLUMN TABLE DHK_SCHEMA.TABLE2 ( ELEMENT CHAR(1), PRIMARY KEY (ELEMENT) ); INSERT INTO DHK_SCHEMA.TABLE2 VALUES ('S'); INSERT INTO DHK_SCHEMA.TABLE2 VALUES ('T'); INSERT INTO DHK_SCHEMA.TABLE2 VALUES ('U'); INSERT INTO DHK_SCHEMA.TABLE2 VALUES ('V'); INSERT INTO DHK_SCHEMA.TABLE2 VALUES ('W');
Примітка:: тут «DHK_SCHEMA» — це назва схеми, у якій користувач може змінити назву схеми SQL відповідно.
Установка Operator Приклади наведені нижче
| Operaтор | SQL Query | Вихід | Використовує |
|---|---|---|---|
| СОЮЗ | ВИБІР * З ( ВИБІР ELEMENT З DHK_SCHEMA.TABLE1 СОЮЗ ВИБІР ELEMENT З DHK_SCHEMA.TABLE2 ) СОРТУВАТИ ЗА ЕЛЕМЕНТ; |
Об’єднайте результати двох або більше запитів без повторів. | |
| UNION ALL | ВИБІР * З ( ВИБІР ELEMENT З DHK_SCHEMA.TABLE1 UNION ALL ВИБІР ELEMENT З DHK_SCHEMA.TABLE2 ) СОРТУВАТИ ЗА ЕЛЕМЕНТ; |
Об’єднайте результати двох або більше запитів з усіма дублікатами. | |
| ІНТЕРСЕКТ | ВИБІР * З ( ВИБІР ELEMENT З DHK_SCHEMA.TABLE1 ІНТЕРСЕКТ ВИБІР ELEMENT З DHK_SCHEMA.TABLE2 ) СОРТУВАТИ ЗА ЕЛЕМЕНТ; |
Об’єднайте результат двох або більше запитів з усіма загальними рядками. | |
| Окрім | ВИБІР * З ( ВИБІР ELEMENT З DHK_SCHEMA.TABLE1 Окрім ВИБІР ELEMENT З DHK_SCHEMA.TABLE2 ) СОРТУВАТИ ЗА ЕЛЕМЕНТ; |
Отримує вихідні дані першого запиту та видаляє рядок, вибраний другим запитом |
Установка OperaПравила та вимоги Tor
Оператори множин виглядають простими, але легко відхиляють запити, оскільки вони порівнюють цілі набори результатів, а не окремі значення. Ними керують чотири правила.
- Кількість стовпців має збігатися. Обидва оператори SELECT повинні повертати однакову кількість стовпців. Невідповідність негайно призводить до невдачі, і повідомлення називає позицію, а не стовпець.
- Типи даних мають бути сумісними. Перший стовпець першого запиту зіставляється зі стовпцем одним другого і так далі за позицією, а не за назвою. Сумісні числові типи перетворюються автоматично; символьний стовпець з датою – ні.
- Назви стовпців взяті з першого запиту. Те, що другий оператор називає своїми стовпцями, ігнорується у виводі, що дивує будь-кого, хто вперше читає результат UNION.
- ORDER BY застосовується до всього результату. Він має бути в кінці, після останнього SELECT, і саме тому у наведених вище прикладах об'єднання обгортається зовнішнім SELECT.
Варто зазначити різницю в продуктивності між UNION та UNION ALL. UNION повинен сортувати або хешувати об'єднаний результат, щоб видалити дублікати, тоді як UNION ALL просто додає. Там, де дублікати неможливі або прийнятні, UNION ALL значно швидший у великих таблицях. Визначення стовпців, що використовуються в цих таблицях, розглядаються в SAP Типи даних HANA.
Operaпріоритет торів у SAP HANA SQL
Коли в одному виразі використовується кілька операторів, пріоритет вирішує, який з них обчислюється першим. Помилка в цьому призводить до того, що запит виконується ідеально та повертає неправильні рядки, що набагато небезпечніше, ніж синтаксична помилка.
| замовлення | Operaторс | Категорія |
|---|---|---|
| 1 | () | Дужки, завжди обчислюються першими |
| 2 | + – (один операнд) | Унарний плюс і заперечення |
| 3 | * / | Множення і ділення |
| 4 | + – || | Додавання, підрядtracція, конкатенація |
| 5 | = != < > <= >= | порівняння |
| 6 | $NOT | Логічне заперечення |
| 7 | І | Логічний кон'юнкція |
| 8 | OR | Логічна диз'юнкція |
Класична пастка знаходиться в рядках 7 та 8. Оскільки І зв'язується міцніше, ніж АБО, умова ДЕ регіон = «СХІД» АБО регіон = «ЗАХІД» ТА статус = «ВІДКРИТО» читається як СХІД, або ж ЗАХІД, що відкритийКожен східний рядок повертається незалежно від статусу. Додавання дужок навколо двох перевірок регіону виправляє це.
💡 Порада: Візьміть у дужки кожну змішану умову І та АБО, навіть якщо пріоритет вже дає бажаний результат. Запит стає самодокументованим і зберігає свої дані після подальших редагувань іншого розробника.
Синтаксис щоденних операторів розглядається в SAP HANA SQL навчальний посібник та ширша платформа в SAP Підручник з HANA серії.





