Structured Query Language (SQL)
Sie sind hier: Startseite › Structured Query Language › Funktionen
CM, 01.09.2001
Funktionen
- Aggregatfunktionen
(COUNT, SUM, AVG, MAX / MIN, VARIANCE, STDDEV
) - Datums- und Zeitfunktionen
(ADD_MONTHS, LAST_DAY, MONTHS_BETWEEN, NEW_TIME, NEXT_DAY, SYSDATE
) - Arithmetische Funktionen
(ABS, CEIL / FLOOR, COS, SIN, TAN, COSH, SINH, TANH, EXP, LN / LOG, MOD, POWER, SIGN, SQRT
) - Zeichenfunktionen
(CHR, CONCAT, INITCAP, LOWER / UPPER, LPAD / RPAD, LTRIM / RTRIM, REPLACE, SUBSTR, TRANSLATE, INSTR, LENGTH
) - Umwandlungsfunktionen
(TO_CHAR, TO_NUMBER
) - Verschiedene Funktionen
(GREATEST / LEAST, USER
)
Aggregatfunktionen
Aggregatfunktionen, auch Gruppenfunktionen genannt, ermitteln auf einer Spalte basierende Werte.
Diese Funktionen können auch miteinander kombiniert werden.
SELECT COUNT (<Spaltenname>),
AVG (<Spaltenname>),
MIN (<Spaltenname>),
MAX (<Spaltenname>),
STDDEV (<Spaltenname>),
VARIANCE (<Spaltenname>),
SUM (<Spaltenname>)
FROM <Tabellenname>;
COUNT
:
Liefert die Anzahl der Zeilen.
SELECT COUNT (*) FROM <Tabellenname>;
Diese Abfrage kann natürlich um etliches erweitert werden
(z.B.: ...where...
).
SUM
:
Liefert die Summe der Werte einer Spalte zurück und ist deshalb nur für numerische Felder gültig. Zeichenfelder geben eine Fehlermeldung zurück.
AVG
:
Bildet den Mittelwert einer Spalte. Ebenfalls nur gültig bei numerischen Feldern.
MAX / MIN
:
Ermittlung des größten / kleinsten Wertes einer Spalte. Auch bei Zeichenfeldern einsetzbar (Z als höchstwertigster String).
VARIANCE
:
Varianz/Streuung (Quadrat der Standardabweichung) einer Zufallsgröße. Bei statistischen Berechnungen in Gebrauch.
STDDEV
:
Standardabweichung einer Zahlenspalte.
Datums- und Zeitfunktionen
ADD_MONTHS
:
Addition von Monatsanzahl auf ein angegebenes Datum.
Nur mit Datumswerten einsetzbar!
Ausgabe: Spalte x, Spalte y und Spalte ADD_MONTHS
(Spalte y + 2 Monate)
SELECT <Spaltenname x>, <Spaltenname y>,
ADD_MONTHS(<Spaltenname y>, 2)
FROM <Tabellenname>;
LAST_DAY
:
Rückgabe des letzten Tages eines Monates.
SELECT <Spalte Datum>,
LAST_DAY(<Spalte Datum>)
FROM <Tabellenname>;
MONTHS_BETWEEN
:
Berechnet die Anzahl der Monate zwischen zwei Datumsangaben. Ausgabe auch in Kommazahlen.
Ausgabe: Anfangsdatum, Enddatum, Differenz.
SELECT <Spalte Anfangsdatum>, <Spalte Enddatum>,
MONTHS_BETWEEN(<Spalte Enddatum>, <Spalte Anfangsdatum>) Differenz
FROM <Tabellenname>;
NEW_TIME
:
Anpassen von Zeitangaben an eine bestimmte Zeitzone.
NEW_TIME(Datum, Zeitzone1, Zeitzone2)
NEXT_DAY
:
Gibt das nächstliegende Datum zum angegebenen Wochentag aus.
NEXT_DAY(<Spalte Anfangsdatum>, '<Wochentag>')
SYSDATE
:
Rückgabe von Datum und Uhrzeit aus den Systemeinstellungen.
SELECT DISTINCT SYSDATE
FROM <Tabellenname>;
Arithmetische Funktionen
ABS
:
Absolutwert. Umwandlung von negativen Zahlen in positive.
SELECT ABS(<Spaltenname>)
FROM <Tabellenname>;
CEIL
und FLOOR
:
CEIL
gibt die kleinste ganze Zahl zurück, die
größer oder gleich dem übergebenen Argument ist,
FLOOR
die größte ganze Zahl, die kleiner oder gleich dem
Argument ist.
SELECT CEIL(<Spaltenname>)
FROM <Tabellenname>;
Trigonometrische Funktionen (COS, SIN, TAN
) und
Hyperbelfunktionen (COSH, SINH, TANH
):
Das Argument ist im Bogenmaß anzugeben.
EXP
:
Exponentialfunktion (Basis e potenziert mit der als Argument angegebenen Zahl).
LN
und LOG
:
Natürlicher Logarithmus (LN
). Fordert positive
Zahlen, daher empfiehl sich manchmal Verknüpfung mit
ABS
-Funktion.
SELECT LN(ABS(<Spaltenname>))
FROM <Tabellenname>;
Die LOG
-Funktion dagegen braucht zwei Argumente und berechnet
den Logarithmus für die Zahl des ersten Argumentes zur Basis
im zweiten Argument. Im folgenden Beispiel ist die Basis 10.
SELECT LOG(<Spaltenname>,10)
FROM <Tabellenname>;
MOD
:
Restzahlermittlung der Division von Argument 1 (hier x) durch Argument 2 (hier y). Ausgabe mit Kommastellen.
SELECT MOD(<Spaltenname x>,<Spaltenname y>)
FROM <Tabellenname>;
POWER
:
Zahl m zur Potenz n. Auch negative Zahlen lassen sich potenzieren, dann muss n aber eine ganze Zahl sein!
SIGN
:
Vorzeichenermittlung. Zahlen kleiner Null ergeben den Wert - 1, Zahlen größer Null ergeben 1 und bei einem Argument gleich Null ist das Ergebnis ebenfalls 0.
SELECT SIGN(<Spaltenname>)
FROM <Tabellenname>;
SQRT
:
Quadratwurzelberechnung. Nur positive Argumente! Zum Umgehen von
negativen Argumenten Einsatz der ABS
-Funktion.
SELECT SQRT(ABS(<Spaltenname>))
FROM <Tabellenname>;
Zeichenfunktionen
CHR
:
Liefert das zum numerischen Code äquivalente Zeichen. Ist somit vom Zeichensatz abhängig.
SELECT CHR(<Spaltenname>)
FROM <Tabellenname>;
Die Zahl 67 würde im ASCII-Zeichensatz als C zurückgegeben werden, die 32 als Leerzeichen.
CONCAT
:
Stringverknüpfung wie ||.
select CONCAT (<Spaltenname1, Spaltenname2>) "Alias Neuer Name"
from <Tabellenname>;
Erhält die imaginär erstellte Spalte einen Namen, der aus mehreren Wörtern (Beispiel: "Vor- und Zuname") besteht, so ist es zu empfehlen, diesen in Anführungszeichen zu notieren.
INITCAP
:
Wandelt das erste Zeichen eines Wortes in einen Großbuchstaben und den Rest in Kleinbuchstaben um.
LOWER
und UPPER
:
LOWER
wandelt alle Zeichen in Kleinbuchstaben um, UPPER
alle in
Großbuchstaben.
LPAD
und RPAD
:
Auffüllende Funktion. Erstes Argument übergibt betroffenen String, zweites Anzahl der aufzufüllenden Zeichen, drittes ist optional und übergibt Füllzeichen.
Beispiel: Füllt die Zeile links vom Wort bis auf 20 Zeichen mit *
auf.
SELECT LPAD(<Spaltenname>,20,'*')
FROM <Tabellenname>;
Die Funktion RPAD
füllt auf rechter Seite auf.
LTRIM
und RTRIM
:
Schneidet optional angegebenes Zeichen links bzw. rechts ab.
Beispiel: Schneidet alle * links vom Wort ab. Optionales Zeichen
frei wählbar, sonst Leerzeichen.
SELECT LTRIM(<Spaltenname>,'*')
FROM <Tabellenname>;
REPLACE
:
Ersetzen. Erstes Argument ist der Spaltenname, zweites der Suchschlüssel, drittes (optional) der Ersetzungsstring. Ist das dritte Argument nicht mit angegeben, so werden die im zweiten Argument gesuchten Zeichen einfach gelöscht.
SELECT REPLACE(<Spaltenname>,'<zu suchender String>','<Ersetzungsstring>')
FROM <Tabellenname>;
SUBSTR
:
Extrahierung von Teilen eines Strings. Zielstring, Position des auszugebendenen Zeichens, Anzahl der zurückzugebenden Zeichen. Die Übergabe einer negativen Zahl im zweiten Argument hat zur Folge, dass sich der Anfangspunkt vom Ende des Strings berechnet.
Beispiel: Ausgabe von drei Zeichen, beginnend beim 5ten Zeichen des Strings.
SELECT SUBSTR(<Spaltenname>,'5','3')
FROM <Tabellenname>;
Das dritte Argument ist wieder optional. Wird es weggelassen, so erfolgt die Ausgabe der Zeichen ab der im zweiten Argument angegebenen Position.
TRANSLATE
:
Drei Argumente: Zielstring, von-String, nach-String. Notation nach vorangegangenem Beispiel. Groß-/Kleinschreibung innerhalb der Strings beachten, da sonst Umwandlug ignoriert wird!
INSTR
:
Suche nach bestimmtem Zeichen und dessen Position im durchsuchten String. Zielstring, zu vergleichendes Muster, Suchstartposition (Standard 1), Art der Übereinstimmung (Standard 1).
LENGTH
:
Länge eines String-Argumentes. Nur in Kombination mit
RTRIM
sinnvoll, da sonst Leerzeichen
mitgezählt werden!
SELECT LENGTH(RTRIM(<Spaltenname>))
FROM <Tabellenname>;
Umwandlungsfunktionen
Datentypkonvertierung.
TO_CHAR
:
Umwandlung einer Zahl in ein Zeichen. Nicht sehr aufregend.
TO_NUMBER
:
Umwandlung eines Strings in eine Zahl.
Verschiedene Funktionen
GREATEST
und LEAST
:
Ermittlung des größten bzw. kleinsten Elementes aus einer Folge von Ausdrücken.
SELECT GREATEST(<Ausdruck1>,'<Ausdruck2>','<Ausdruck3>','<Ausdruck4>')
FROM <Tabellenname>;
USER
:
Rückgabe des momentanen Datenbankbenutzernamens.