Databases Reference
In-Depth Information
Da Donald Duck an einem Samstag das Licht der Welt erblickte, erhalten wir
Saturday
als Ergebnis. Genauer gesagt, besteht das Ergebnis aus einer Tabelle
mit einer Zeile und einer Spalte, die den Wert
Saturday
enthält.
Da dieser Samstag mittlerweile 77 Jahren zurückliegt,
1
ergibt sich
77
als Ergebnis
der folgenden Anweisung.
select datediff("YEAR", d, current date)
from timedata
where name='Donald'
Die Formatierung des Geburtsdatums
9. June 1934
von Donald nehmen wir
im nächsten Beispiel mit dem Operator
||
zunächst selbst in die Hand.
select day_of_month(d) || '. ' || monthname(d) || ' ' || year(d)
from timedata
where name='Donald'
Für diese Aufgabe hat H2 aber eine eigene Funktion, die das viel besser kann:
call formatdatetime(
'1934-06-09 12:00:00.0', 'EEEE, d. MMM yyyy HH:mm:ss z', 'de')
Es ergibt sich der Text
Samstag, 9. Jun 1934 12:00:00 MEZ
Nicht zuletzt, weil SQL uns komfortable Funktionen für Datums- und Zeitan-
gaben bietet, ziehen wir die Typen
date
,
time
und
timestamp
den Texttypen
char
oder
varchar
vor.
11.4
Aggregatfunktionen
Einfache Funktionen ermitteln zu einem oder mehreren Argumenten einen Wert,
bei Aggregatfunktionen sind die Argumente mehrwertig. Das machen wir uns am
besten anhand des folgenden Beispiels klar:
Listing 11.6:
Summenbildung über eine ganze Spalte
select sum(preis)
from alben
Die Funktion
sum
bildet aus allen Preisen, die in der Spalte
preis
der Tabelle
alben
verzeichnet sind, die Summe. Die Preise werden zu einer Summe aggre-
giert. Das Ergebnis entnehmen wir der folgenden Tabelle.
1
Im Juli 2011.