Databases Reference
In-Depth Information
String-Funktionen
String-Funktionen haben als Rückgabewert Zeichenketten. Wir können beispiels-
weise mit
UPPER
alle Buchstaben in Großbuchstaben umwandeln. Das Gegenstück
dazu heißt
LOWER
.
UPPER(kunde.kname)
==================
VOSS, HANS
STEIN, PETER
BERGER, UWE
RANDERS, NIS
ANDRESEN, UTE
STUFF, WERNER
STAACK, HANNES
Zum Extrahieren von Teil-Strings gibt es die Funktion
SUBSTRING
. Die Parameter
geben an, ab dem wievielten Zeichen und wie viele Zeichen zu extrahieren sind.
Im Beispiel kombinieren wir die
SUBSTRING
-Funktion mit der
POSITION
-Funktion,
um anhand der Position des Kommas den Nachnamen des Kunden zu extrahieren.
Der Befehl ist hier in der SYBASE-Version dargestellt. Nach dem Standard wäre
POSITION
statt
LOCATE
anzuwenden, wie oben dargestellt.
SELECT kname,
SUBSTRING(kname, 1,(LOCATE(kname, ',')-1)) AS Nachname
FROM kunde;
Antwort:
kname Nachname
================ ========
Voss, Hans Voss
Stein, Peter Stein
Berger, Uwe Berger
Randers, Nis Randers
Andresen, Ute Andresen
Stuff, Werner Stuff
Staack, Hannes Staack
Manchmal ist es wichtig, NULL-Marken durch einen echten Wert zu ersetzen, bei-
spielsweise, um Listen ein besseres Aussehen zu geben, oder um vielleicht für eine
andere Anwendung einen Ersatzwert zu liefern, der dort als NULL-Marke inter-
pretiert wird. Der Standard bietet dafür die Funktion
NULLIF
. Sie arbeitet mit drei
Parametern: dem Ausdruck, der auf eine NULL-Marke geprüft wird, dem Ersatz-
wert, falls eine NULL-Marke gefunden wurde, und dem Ersatzwert, falls ein ech-
ter Wert vorliegt. In diesem Fall wird man meist den Wert selbst ausgeben wollen,
wie in unserem folgenden Beispiel. SYBASE arbeitet aber mit einem anderen Funk-
tionsbezeichner, und zwar
IFNULL
, bei ORACLE heißt die Funktion
NVL
etc. Auch
hier muss man also das Handbuch bemühen.