Als ein ganz einfaches Beispiel soll die Aufgabe dienen, eine Zahl in ihre ausgeschriebene Variante zu übertragen (zum Beispiel für Schecks oder Verträge). Der entsprechende Kniff dafür existiert bereits seit den allerersten Anfängen von Oracle. Normalerweise ist diese Aufgabe folgendermaßen zu bewältigen:
Die TO_DATE Funktion wandelt die Zahl in ein Datum nach dem julianischen Kalender um. Dann übernimmt TO_CHAR dieses Datum und formuliert es als Anreihung ausgeschriebener Zahlen. Bei diesem Trick gibt es allerdings einige Einschränkungen.
Zunächst sind julianische Daten in Oracle nur bis zum Jahr 9999 gültig, so dass der größte gebräuchliche Wert 5.373.484 ist. Am unteren Ende der Reihe steht das Datum 1 oder 4712 vor Christus. Da es kein Jahr „Null“ gibt, ist es auch nicht möglich, den Text „Null“ ohne Zuhilfenahme einer zusätzlichen DECODE oder CASE Anweisung zu generieren. Die dritte große Einschränkung besteht darin, dass die NLS-Einstellungen des Benutzers ignoriert werden. Gleichgültig, welche Sprache verwendet wird, die Zahlen werden immer in amerikanischem Englisch wiedergegeben. Das gleiche Problem gilt dann, wenn man einen bestimmten Tag ausgeschrieben darstellen will. Versuchen Sie zum Beispiel einmal die Wendung „Cinco de Mayo“ auf Spanisch zu generieren:
Neueste Kommentare
Noch keine Kommentare zu Linguistische Hilfsfunktionen in SQL erzeugen
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.