Databases Reference
In-Depth Information
Wie geht man mit diesen Daten um? Welche Einträge sollte man nutzen und welche igno-
rieren? Hier gibt es einen einfachen Lösungsansatz: Man nimmt immer den aktuellsten
Eintrag. Das ist insbesondere bei der Newsletteranmeldung wichtig. Hier zählt immer der
jüngste Datensatz.
Wenn in der Tabelle ein Zeitstempel vorhanden wäre, der anzeigt, wann der Datensatz ange-
legt wurde, hätten wir ein leichtes Spiel. Sie bräuchten dann jeweils nur den Datensatz mit
dem jüngsten Zeitstempel zu nehmen. Da in der vorliegenden Tabelle kein Datum vorhan-
den ist, benötigen Sie eine andere Lösung. Diese Lösung inden Sie in der Kundenummer.
Eine Kundennummer wird in der Regel fortlaufend vergeben. Folglich ist der Datensatz mit
der höchsten Kundennummer der jüngste Datensatz. Ganz so einfach ist es nun aber leider
doch nicht, da die Kundennummer bei uns im System keine einfache Nummer ist, sondern
eine Kombination aus Buchstaben und Zahlen.
31.1■Zeichen mit den Funktionen LEFT oder
RIGHT unterdrücken
Im ersten Schritt müssen wir die Buchstaben KNR aus der Kundennummer entfernen. Dazu
nutzen wir die Funktion RIGHT .
LEFT oder RIGHT gibt die Anzahl n der Zeichen von links oder rechts aus.
RIGHT (SPALTENNAME, 14) zeigt jeweils die letzten 14 Stellen der Zeichenfolge.
LEFT (SPALTENNAME, 5) zeigt jeweils die ersten 5 Stellen der Zeichenfolge.
Schauen Sie sich die Kundennummern an. Vorne haben wir die drei Buchstaben KNR und
anschließend folgt eine sechsstellige Zahl. Mit RIGHT (customerNo,6) wird diese Zahl
ausgegeben.
31.2■Umwandeln des Datentyps
Wenn Sie die Zahl isoliert haben, ist das Ergebnis immer noch eine Zeichenfolge und kein
numerischer Eintrag, mit dem Sie eine Berechnung durchführen oder Funktionen, wie MIN ,
MAX oder AVG , anwenden können. Sie müssen das Ergebnis in einen numerischen Wert
umwandeln. Zur Umwandlung von Datentypen gibt es zwei Möglichkeiten:
CAST (expression AS data_type [ (length ) ] )
oder
CONVERT (data_type [ (length ) ] ,expression [ ,style ] )
Für unsere Aufgabe benutzen wir die Umwandlung über den Befehl CAST AS NUMERIC :
cast (RIGHT (customerNo, 6) as numeric
Search WWH ::




Custom Search