Operator SAP HANA może służyć do obliczeń, porównywania wartości lub przypisywania wartości. SAP HANA zawiera poniżej operatorów-
Operator jednoargumentowy i binarny
Operator arytmetyczny
Operatory łańcuchowe
Operator porównania
Operator logiczny
Ustaw operator
Operator jednoargumentowy i binarny
Operator | Operacja | Opis |
---|---|---|
Jednoargumentowe | Operator jednoargumentowy ma zastosowanie do jednego operandu | Jednoargumentowy operator plus (+) Jednoargumentowy operator negacji (-) Negacja logiczna (NOT) |
Dwójkowy | Operator binarny stosuje się do dwóch operandów | Operatory mnożenia (*, /) Operatory addytywne (+, -) Operatory porównania (=,! =, <,>, <=,> =) Operatory logiczne (AND, OR) |
Operator arytmetyczny
- Dodawanie (+)
- Odejmowanie (-)
- Mnożenie (*)
- Podział ( / )
Operator łańcucha
Operator ciągu to operator konkatenacji, który łączy w jeden dwa elementy, takie jak łańcuchy, wyrażenia lub stałe.
Dwie pionowe kreski „||” jest używany jako operator konkatenacji.
Operator porównania
Operator porównania służy do porównywania dwóch operandów. Poniżej znajduje się lista operatorów porównania-
- Równe (=)
- Większe niż (>)
- Mniejsze niż (<)
- Większe lub równe (> =)
- Mniejsze lub równe (<=)
- Różne od (! =, <>)
Operator logiczny
W kryteriach wyszukiwania używany jest operator logiczny.
Np. GDZIE warunek1 I / LUB / NIE warunek2
Poniżej znajduje się lista operatorów logicznych -
- AND - (np. WHERE warunek1 AND warunek2)
Jeśli oba Warunek1 ORAZ Warunek2 są prawdziwe, wówczas warunek Połącz jest prawdziwy, w przeciwnym razie będzie fałszywy.
- OR - (np. WHERE warunek1 OR warunek2)
Jeśli Warunek1 LUB Warunek2 jest prawdziwy, to warunek łączenia ma wartość prawda lub fałsz, jeśli oba Warunki są fałszywe.
- NIE - (np. Warunek GDZIE NIE)
NIE warunek jest prawdziwy Jeśli warunek jest fałszywy.
Operatory zbioru
- UNION - łączy dwie lub wiele instrukcji wyboru lub zapytania bez duplikatów.
- UNION ALL - łączy dwie lub wiele instrukcji wyboru lub zapytania, w tym wszystkie zduplikowane wiersze.
- INTERSECT - łączy dwie lub wiele instrukcji wyboru lub zapytania i zwraca wszystkie typowe wiersze.
- EXCEPT - pobiera dane wyjściowe z pierwszego zapytania i usuwa wiersz wybrany przez drugie zapytanie.
Na przykład
Mam dwie tabele (table1, table2), w których niektóre wartości są wspólne.
Używamy operatora Set (Union, Union ALL, Intersect, z wyjątkiem) dla tych dwóch tabel w SQL, jak poniżej -
Utwórz skrypt Table1 - 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');
Utwórz skrypt Table2-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');
Uwaga : Tutaj „DHK_SCHEMA” jest nazwą schematu, użytkownik może odpowiednio zmienić nazwę schematu w SQL.
Przykłady ustawionych operatorów są jak poniżej -
Operator | Zapytanie SQL | Wynik | Używa |
---|---|---|---|
UNIA | SELECT * FROM (SELECT ELEMENT FROM DHK_SCHEMA.TABLE1 UNION SELECT ELEMENT FROM DHK_SCHEMA.TABLE2 ) ORDER BY ELEMENT; | Połącz Wynik dwóch lub więcej zapytań bez duplikatu. | |
UNIA WSZYSTKIE | SELECT * FROM ( SELECT ELEMENT FROM DHK_SCHEMA.TABLE1 UNION ALL SELECT ELEMENT FROM DHK_SCHEMA.TABLE2) ORDER BY ELEMENT; | Połącz wynik dwóch lub więcej zapytań ze wszystkimi duplikatami. | |
KRZYŻOWAĆ | SELECT * FROM ( SELECT ELEMENT FROM DHK_SCHEMA.TABLE1 INTERSECT SELECT ELEMENT FROM DHK_SCHEMA.TABLE2) ORDER BY ELEMENT; | Połącz wynik dwóch lub więcej zapytań ze wszystkimi typowymi wierszami. | |
Z WYJĄTKIEM | SELECT * FROM ( SELECT ELEMENT FROM DHK_SCHEMA.TABLE1 EXCEPT SELECT ELEMENT FROM DHK_SCHEMA.TABLE2) ORDER BY ELEMENT; | Pobiera dane wyjściowe z pierwszego zapytania i usuwa wiersz wybrany przez drugie zapytanie |