Операторът SAP HANA може да се използва за изчисляване, сравняване на стойности или за присвояване на стойност. SAP HANA Съдържат оператори по-долу
Унарни и двоичен оператор
Аритметичен оператор
Низови оператори
Сравнителен оператор
Логически оператор
Задайте оператор
Унарни и двоичен оператор
Оператор | Операция | Описание |
---|---|---|
Унар | Унарният оператор се прилага за един операнд | Одинарен плюс оператор (+) Одинарен отрицателен оператор (-) Логическо отрицание (НЕ) |
Двоична | Двоичен оператор се прилага за два операнда | Мултипликативни оператори (*, /) Адитивни оператори (+, -) Оператори за сравнение (=,! =, <,>, <=,> =) Логически оператори (И, ИЛИ) |
Аритметичен оператор
- Добавяне (+)
- Изваждане (-)
- Умножение (*)
- Отдел (/)
Струнен оператор
String Operator е оператор за обединяване, който комбинира два елемента като низове, изрази или константи в едно.
Две вертикални ленти "||" се използва като оператор за конкатенация.
Сравнителен оператор
Сравнителният оператор се използва за сравняване на два операнда. По-долу са изброени операторите за сравнение -
- Равно на (=)
- По-голямо от (>)
- По-малко от (<)
- По-голямо или равно на (> =)
- По-малко или равно на (<=)
- Не е равно (! =, <>)
Логически оператор
В критериите за търсене се използва логически оператор.
Например КЪДЕ условие1 И / ИЛИ / НЕ условие2
По-долу е даден списък с логически оператор -
- И - (напр. WHERE условие1 И условие2)
Ако и условието1, и условието2 са верни, тогава условието за комбиниране е вярно, иначе ще се обърка
- ИЛИ - (напр. WHERE условие1 ИЛИ условие2)
Ако Условие1 ИЛИ Условие2 е вярно, тогава условието за комбиниране е вярно или невярно, ако и двете условия са неверни.
- NOT - (напр. WHERE NOT условие)
Условието НЕ е вярно, ако условието е невярно.
Задайте оператори
- СЪЮЗ - Комбинира две или много избрани инструкции или заявка без дубликат.
- UNION ALL - Комбинира две или много команди за избор или заявка, включително всички дублирани редове.
- INTERSECT - Комбинира две или много команди за избор или заявка и връща всички общи редове.
- ОСВЕН - Взима изхода от първата заявка и премахва реда, избран от втората заявка.
Напр
Имам две таблици (table1, table2), в които някои стойности са често срещани.
Използваме оператор Set (Union, Union ALL, Intersect, с изключение) за тези две таблици в SQL, както по-долу -
Създаване на таблица1 - SQL скрипт
СЪЗДАВАНЕ НА ТАБЛИЦА НА КОЛОНАТА DHK_SCHEMA.TABLE1(ELEMENT CHAR (1),ОСНОВЕН КЛЮЧ (ЕЛЕМЕНТ));ВЪВЕДЕТЕ В DHK_SCHEMA.TABLE1 СТОЙНОСТИ ('P');ВЪВЕДЕТЕ В DHK_SCHEMA.TABLE1 СТОЙНОСТИ ('Q');ВЪВЕДЕТЕ В DHK_SCHEMA.TABLE1 VALUES ('R');ВЪВЕДЕТЕ В DHK_SCHEMA.TABLE1 СТОЙНОСТИ ('S');ВЪВЕДЕТЕ В DHK_SCHEMA.TABLE1 СТОЙНОСТИ ('T');
Създаване на таблица2 - SQL скрипт
СЪЗДАВАНЕ НА ТАБЛИЦА НА КОЛОНАТА DHK_SCHEMA.TABLE2(ELEMENT CHAR (1),ОСНОВЕН КЛЮЧ (ЕЛЕМЕНТ));ВЪВЕДЕТЕ В DHK_SCHEMA.TABLE2 СТОЙНОСТИ ('S');ВЪВЕДЕТЕ В DHK_SCHEMA.TABLE2 СТОЙНОСТИ ('T');ВЪВЕДЕТЕ В DHK_SCHEMA.TABLE2 СТОЙНОСТИ („U“);ВЪВЕДЕТЕ В DHK_SCHEMA.TABLE2 СТОЙНОСТИ ('V');ВЪВЕДЕТЕ В DHK_SCHEMA.TABLE2 СТОЙНОСТИ („W“);
Забележка : Тук "DHK_SCHEMA" е име на схема, потребителят може да промени съответно името на схемата в SQL.
Примери за оператори са както по-долу -
Оператор | SQL заявка | Изход | Използва |
---|---|---|---|
СЪЮЗ | ИЗБЕРЕТЕ * ОТ (ИЗБЕРЕТЕ ЕЛЕМЕНТ ОТ DHK_SCHEMA.TABLE1 UNION ИЗБЕРЕТЕ ЕЛЕМЕНТ ОТ DHK_SCHEMA.TABLE2 ) ПОРЪЧКА ПО ЕЛЕМЕНТ; |
| Комбинирайте резултата от две или повече заявки без дубликат. |
СЪЮЗ ВСИЧКИ | ИЗБЕРЕТЕ * ОТ ( ИЗБЕРЕТЕ ЕЛЕМЕНТ ОТ DHK_SCHEMA.TABLE1 UNION ВСИЧКИ ИЗБЕРЕТЕ ЕЛЕМЕНТ ОТ DHK_SCHEMA.TABLE2) ПОРЪЧКА ПО ЕЛЕМЕНТ; |
| Комбинирайте резултата от две или повече заявки с всички дубликати. |
ПРЕКРЕСТИ | ИЗБЕРЕТЕ * ОТ ( ИЗБЕРЕТЕ ЕЛЕМЕНТ ОТ DHK_SCHEMA.TABLE1 INTERSECT ИЗБЕРЕТЕ ЕЛЕМЕНТ ОТ DHK_SCHEMA.TABLE2) ПОРЪЧКА ПО ЕЛЕМЕНТ; |
| Комбинирайте резултата от две или повече заявки с всички често срещани редове. |
С ИЗКЛЮЧЕНИЕ | ИЗБЕРЕТЕ * ОТ ( ИЗБЕРЕТЕ ЕЛЕМЕНТ ОТ DHK_SCHEMA.TABLE1 С изключение на ИЗБЕРЕТЕ ЕЛЕМЕНТ ОТ DHK_SCHEMA.TABLE2) ПОРЪЧКА ПО ЕЛЕМЕНТ; |
| Взема изход от първата заявка и премахва реда, избран от втората заявка |