Home - Operatoren www.sqldocu.com
zurück vor



Mathematische Operatoren


Beschreibung
top
Mit mathematischen Operatoren kann man Abfrageergebnisse bearbeiten. Bereitgestellt werden die 4 Grundrechnungsarten Addition (+ Operator), Subtraktion (- Operator), Multiplikation (* Operator) und die Division (/ Operator). Bei der Division ist zu beachten, dass nicht mit 0 dividiert werden darf. Neben den Grundrechnungarten werden Hochzahlen (^ Operator, zb. 5³,7²) unterstützt.


Syntax
top
  Mathematische Operatoren
Tabelle: Bindungsstärke der Operatoren
Die Anweisung
  80000 - 20000 / 10000
kann unterschiedlich interpretiert werden
  (80000 - 20000)/10000     oder
  80000 - (20000/10000)
Die Bindungsstärke (BS) der Operatoren bestimmt, wie die Zeile interpretiert wird. Der Operator mit der höchsten Bindungsstärke wird als erstes ausgewertet. In unserem Beispiel besitzt / die höchste BS und 20000/10000 wird als erstes ausgewertet.
Somit wird 80000 - 20000 / 10000 als 80000 - (20000/10000) interpretiert.
Tip: Immer Klammern verwenden, damit vermeidet man Fehler bezüglich Bindungsstärke und der Kode wird besser lesbar
Operator Bindungsstärke
() höchste
*, / mittlere
+, - niedrigste



Beispiel Tabelle:
top
Sie wird in mehreren Beispielen verwendet um SQL besser darstellen zu können.
TabelleName: emailAdressen
Die Tabelle emailAdressen besteht aus 4 Spalten und 5 Reihen
Spalte1 hat den Namen vorname.
Spalte2 hat den Namen nachname
Spalte3 hat den Namen email
Spalte4 hat den Namen gewicht

Spaltenname vorname nachname email gewicht
Reihe 1 Michaela König michi@yahoo.de 71
Reihe 2 Kati Müller kati@hotmail.com 48
Reihe 3 Conny Schmid conny3@hotmail.com 63
Reihe 4 Linda Becker linda@hotmail.de 56
Reihe 5 Kati Auer kati@gmx.de 52



Addition
top
UPDATE emailadressen
SET gewicht= gewicht + 1

Alle Werte der Spalte gewicht werden um 1 erhöht.

Ergebnistabelle:
Michaela König michi@yahoo.de 72
Kati Müller kati@hotmail.com 49
Conny Schmid conny3@hotmail.com 64
Linda Becker linda@hotmail.de 57
Kati Auer kati@gmx.de 53

Tabelle emailAdressen anzeigen
PHP Syntax     PERL Syntax


Subtraktion
top
SELECT gewicht-1 FROM emailadressen

Es wird die Spalte gewicht angezeigt, wobei die Werte um 1 niedriger angezeigt werden, als sie tatsächlich in der Tabelle gespeichert sind. Die Tabelle emailadressen wird nicht verändert!

Angezeigten Werte:
70
47
62
55
51

Tabelle emailAdressen anzeigen
PHP Syntax     PERL Syntax


Multiplikation
top
SELECT gewicht*1000 FROM emailadressen

Es wird die Spalte gewicht in Gramm (statt Kilogramm) angezeigt. Die Tabelle emailadressen wird nicht verändert!

Angezeigten Werte:
71 000
48 000
63 000
56 000
52 000

Tabelle emailAdressen anzeigen
PHP Syntax     PERL Syntax


Division
top
SELECT gewicht/1000 FROM emailadressen

Es wird die Spalte gewicht in Tonnen (statt Kilogramm) angezeigt. Die Tabelle emailadressen wird nicht verändert!
Die Division durch Null (z.B: 24/0) ist nicht erlaubt und führt zu einer Fehlermeldung des Kompilers.

Angezeigten Werte:
0.071
0.048
0.063
0.056
0.052

Tabelle emailAdressen anzeigen
PHP Syntax     PERL Syntax


Potenzen
top
SELECT vorname, gewicht FROM emailadressen
WHERE gewicht > 7^2

Es werden jene Zeilen angezeigt, in der die Spalte gewicht einen Wert enthält, der grösser als 49 (7²=49) ist.

Angezeigten Werte:
Michaela 71
Conny 63
Linda 56
Kati 52

Tabelle emailAdressen anzeigen
PHP Syntax     PERL Syntax


Klammern
top
SELECT vorname, gewicht FROM emailadressen
WHERE gewicht > (80000 - 20000)/1000

Es werden jene Zeilen angezeigt, in der die Spalte gewicht einen Wert enthält, der grösser als 60 (60000/1000=60) ist.
Fehlen die Klammern interpretiert das RDBMS
80000 - 20000 /1000 als
80000 - (20000 /1000).
Dies führt zu dem Ergebnis 79980, die Erbebistabelle würde in diesem Fall keine Werte enthalten!

Angezeigten Werte:
Michaela 71
Conny 63

Tabelle emailAdressen anzeigen
PHP Syntax     PERL Syntax


top