PL/SQL - Operatoren

Hallo, angehende Programmierer! Heute machen wir uns auf eine aufregende Reise in die Welt der PL/SQL Operatoren. Keine Sorge, wenn Sie noch nie eine Zeile Code geschrieben haben – wir beginnen bei den ganz Basics und arbeiten uns hinauf. Am Ende dieses Tutorials werden Sie Daten wie ein Profi manipulieren können!

PL/SQL - Operators

Arithmetische Operatoren

Lassen Sie uns mit etwas Vertrautem beginnen: Mathematik! PL/SQL arithmetische Operatoren funktionieren genau wie die, die Sie in der Schule gelernt haben. Sie ermöglichen es uns, grundlegende mathematische Operationen mit Zahlen durchzuführen.

Hier ist eine Tabelle der arithmetischen Operatoren in PL/SQL:

Operator Beschreibung Beispiel
+ Addition 5 + 3 = 8
- Subtraktion 10 - 4 = 6
* Multiplikation 3 * 4 = 12
/ Division 15 / 3 = 5
** Potenz 2 ** 3 = 8

Sehen wir uns diese Operatoren in Aktion mit einem einfachen PL/SQL Codebeispiel an:

DECLARE
num1 NUMBER := 10;
num2 NUMBER := 5;
result NUMBER;
BEGIN
result := num1 + num2;
DBMS_OUTPUT.PUT_LINE('Addition: ' || result);

result := num1 - num2;
DBMS_OUTPUT.PUT_LINE('Subtraktion: ' || result);

result := num1 * num2;
DBMS_OUTPUT.PUT_LINE('Multiplikation: ' || result);

result := num1 / num2;
DBMS_OUTPUT.PUT_LINE('Division: ' || result);

result := num1 ** 2;
DBMS_OUTPUT.PUT_LINE('Potenz: ' || result);
END;

In diesem Beispiel deklarieren wir zwei Variablen num1 und num2, und führen dann verschiedene arithmetische Operationen mit ihnen durch. Die Ergebnisse werden dann in die Ausgabe gedruckt.

Wenn Sie diesen Code ausführen, werden Sie sehen:

Addition: 15
Subtraktion: 5
Multiplikation: 50
Division: 2
Potenz: 100

Relationale Operatoren

Nun geht es weiter zu den relationalen Operatoren. Diese werden verwendet, um zwei Werte zu vergleichen und die Beziehung zwischen ihnen zu bestimmen. Sie sind wie die Fragen, die Sie stellen, wenn Sie Dinge vergleichen: "Ist dies größer als das?" oder "Sind diese beiden gleich?"

Hier ist eine Tabelle der relationalen Operatoren in PL/SQL:

Operator Beschreibung Beispiel
= Gleich 5 = 5 ist wahr
<> Ungleich 5 <> 3 ist wahr
< Kleiner als 3 < 5 ist wahr
> Größer als 5 > 3 ist wahr
<= Kleiner oder gleich 3 <= 3 ist wahr
>= Größer oder gleich 5 >= 5 ist wahr

Sehen wir uns diese in Aktion an:

DECLARE
a NUMBER := 10;
b NUMBER := 20;
BEGIN
IF a = b THEN
DBMS_OUTPUT.PUT_LINE('a ist gleich b');
ELSIF a < b THEN
DBMS_OUTPUT.PUT_LINE('a ist kleiner als b');
ELSE
DBMS_OUTPUT.PUT_LINE('a ist größer als b');
END IF;

IF a <> b THEN
DBMS_OUTPUT.PUT_LINE('a ist ungleich b');
END IF;
END;

Dieser Code vergleicht a und b mit relationalen Operatoren. Wenn Sie ihn ausführen, werden Sie sehen:

a ist kleiner als b
a ist ungleich b

Vergleichsoperatoren

Vergleichsoperatoren in PL/SQL sind sehr ähnlich zu relationalen Operatoren, aber sie bieten zusätzliche Funktionalität, insbesondere für das Arbeiten mit NULL-Werten und das Vergleichen verschiedener Datentypen.

Hier ist eine Tabelle der Vergleichsoperatoren:

Operator Beschreibung
IS NULL Überprüft, ob ein Wert NULL ist
IS NOT NULL Überprüft, ob ein Wert nicht NULL ist
LIKE Musterabgleich
BETWEEN Überprüft, ob ein Wert in einem Bereich liegt
IN Überprüft, ob ein Wert auf einen Wert in einer Liste passt

Sehen wir uns ein Beispiel an:

DECLARE
name VARCHAR2(20) := 'John Doe';
age NUMBER := 25;
BEGIN
IF name IS NOT NULL THEN
DBMS_OUTPUT.PUT_LINE('Name ist: ' || name);
END IF;

IF name LIKE 'J%' THEN
DBMS_OUTPUT.PUT_LINE('Name beginnt mit J');
END IF;

IF age BETWEEN 20 AND 30 THEN
DBMS_OUTPUT.PUT_LINE('Alter ist zwischen 20 und 30');
END IF;

IF age IN (25, 30, 35) THEN
DBMS_OUTPUT.PUT_LINE('Alter ist 25, 30 oder 35');
END IF;
END;

Dieser Code demonstrates verschiedene Vergleichsoperatoren. Wenn Sie ihn ausführen, werden Sie sehen:

Name ist: John Doe
Name beginnt mit J
Alter ist zwischen 20 und 30
Alter ist 25, 30 oder 35

Logische Operatoren

Logische Operatoren ermöglichen es uns, mehrere Bedingungen zu kombinieren. Sie sind wie "und" und "oder" in der Alltagssprache, wenn wir komplexe Situationen beschreiben.

Hier ist eine Tabelle der logischen Operatoren in PL/SQL:

Operator Beschreibung
AND Wahr, wenn beide Bedingungen wahr sind
OR Wahr, wenn eine der Bedingungen wahr ist
NOT Kehrt das Ergebnis einer Bedingung um

Sehen wir uns diese in Aktion an:

DECLARE
age NUMBER := 25;
has_license BOOLEAN := TRUE;
BEGIN
IF age >= 18 AND has_license THEN
DBMS_OUTPUT.PUT_LINE('Du darfst ein Auto fahren');
END IF;

IF age < 18 OR NOT has_license THEN
DBMS_OUTPUT.PUT_LINE('Du darfst kein Auto fahren');
ELSE
DBMS_OUTPUT.PUT_LINE('Du darfst ein Auto fahren');
END IF;
END;

Dieser Code überprüft, ob eine Person fahren darf, basierend auf ihrem Alter und ob sie einen Führerschein hat. Wenn Sie ihn ausführen, werden Sie sehen:

Du darfst ein Auto fahren
Du darfst ein Auto fahren

PL/SQL Operator Priorität

Wie in der Mathematik haben PL/SQL Operatoren eine bestimmte Reihenfolge, in der sie bewertet werden. Dies wird als Operator Priorität bezeichnet. Das Verständnis dessen ist entscheidend für das Schreiben korrekter und vorhersehbarer Code.

Hier ist die Priorität der Operatoren in PL/SQL, von höchster zu niedrigster Priorität:

  1. Potenz (**)
  2. Multiplikation (*), Division (/)
  3. Addition (+), Subtraktion (-)
  4. Vergleichsoperatoren (=, <>, <, >, <=, >=)
  5. IS NULL, LIKE, BETWEEN, IN
  6. NOT
  7. AND
  8. OR

Sehen wir uns ein Beispiel dafür an:

DECLARE
result BOOLEAN;
BEGIN
result := 5 > 3 AND 10 / 2 = 5 OR NOT (2 + 2 = 4);

IF result THEN
DBMS_OUTPUT.PUT_LINE('Das Ergebnis ist WAHR');
ELSE
DBMS_OUTPUT.PUT_LINE('Das Ergebnis ist FALSCH');
END IF;
END;

In diesem Beispiel wird der Ausdruck wie folgt bewertet:

  1. 10 / 2 = 5 (Division, dann Vergleich)
  2. 5 > 3 (Vergleich)
  3. 2 + 2 = 4 (Addition, dann Vergleich)
  4. NOT (2 + 2 = 4) (logisches NOT)
  5. 5 > 3 AND 10 / 2 = 5 (logisches AND)
  6. Ergebnis von Schritt 5 OR Ergebnis von Schritt 4 (logisches OR)

Wenn Sie diesen Code ausführen, werden Sie sehen:

Das Ergebnis ist WAHR

Und das war's! Wir haben die wichtigsten Arten von Operatoren in PL/SQL behandelt. Denken Sie daran, dass Übung macht den Meister. Versuchen Sie, eigene Codebeispiele zu schreiben und verschiedene Operatorenkombinationen auszuprobieren. Bereitwillig werden Sie komplexe PL/SQL Anweisungen mit Leichtigkeit schreiben können!

Credits: Image by storyset