SQL-Funktionen |
Eine Funktion ist eine spezielle Art von Befehlswort in der Befehlsmenge von SQL99. Funktionen sind Befehle, die aus einem Wort bestehen und einen einzelnen Wert zurückgeben. Der Wert einer Funktion kann durch Eingabeparameter festgelegt werden, wie zum Beispiel bei einer Funktion, die den Durchschnitt einer Liste von Datenbankwerten berechnet. Viele Funktionen verwenden keine Eingabeparameter, wie zum Beispiel die Funktion CURRENT_TIME, die die aktuelle Systemzeit zurückgibt. Der SQL99-Standard unterstützt eine Reihe nützlicher Funktionen. Diese Funktionen werden in diesem Kapitel detailliert und anhand von Beispielen beschrieben. Außerdem hat jeder Datenbankhersteller eine lange Liste mit eigenen internen Funktionen, die jedoch nicht im SQL-Standard enthalten sind. Sie finden hier für jede Datenbankimplementierung eine Liste und Beschreibungen der internen Funktionen. Darüber hinaus bieten die meisten Datenbankhersteller die Möglichkeit zur Erstellung benutzerdefinierter Funktionen (UDF). Nähere Informationen zu UDFs finden Sie unter dem Befehl CREATE FUNCTION in Kapitel 3.
Deterministische und nicht-deterministische Funktionen
Funktionen können deterministisch oder nicht-deterministisch sein. Eine deterministische Funktion gibt bei gleichen Eingabewerten immer dieselben Werte zurück. Eine nicht-deterministische Funktion gibt bei jedem Aufruf andere Werte zurück, selbst wenn die Eingabewerte gleich sind. Funktionen können deterministisch oder nicht-deterministisch sein. Eine deterministische Funktion gibt bei gleichen Eingabewerten immer dieselben Werte zurück. Eine nicht-deterministische Funktion gibt bei jedem Aufruf andere Werte zurück, selbst wenn die Eingabewerte gleich sind.