Linguistische Hilfsfunktionen in SQL erzeugen

In einem zunehmend globalisierten Umfeld wird so manche eigentlich einfache Aufgabe durch die Vielzahl von Grammatikregeln in den unterschiedlichen Sprachen erschwert. Diese Aufgaben können allgemein gelöst werden, indem man eine bestimmte Sprache in eine Reihe von Grammatikregeln mit ihren Ausnahmen (sowie einem Basisvokabular) aufgliedert. In einigen Sprachen (zum Beispiel Perl und Java) gibt es Public Domain-Module, welche die linguistischen Transformationen in einem Text erledigen.

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:

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Gefahren im Foxit PDF-Reader

Check Point warnt vor offener Schwachstelle, die derzeit von Hackern für Phishing ausgenutzt wird.

10 Stunden ago

Bitdefender entdeckt Sicherheitslücken in Überwachungskameras

Video-Babyphones sind ebenfalls betroffen. Cyberkriminelle nehmen vermehrt IoT-Hardware ins Visier.

10 Stunden ago

Top-Malware in Deutschland: CloudEye zurück an der Spitze

Der Downloader hat hierzulande im April einen Anteil von 18,58 Prozent. Im Bereich Ransomware ist…

10 Stunden ago

Podcast: „Die Zero Trust-Architektur ist gekommen, um zu bleiben“

Unternehmen greifen von überall aus auf die Cloud und Applikationen zu. Dementsprechend reicht das Burg-Prinzip…

1 Tag ago

Google schließt weitere Zero-Day-Lücke in Chrome

Hacker nutzen eine jetzt gepatchte Schwachstelle im Google-Browser bereits aktiv aus. Die neue Chrome-Version stopft…

1 Tag ago

Hacker greifen Zero-Day-Lücke in Windows mit Banking-Trojaner QakBot an

Microsoft bietet seit Anfang der Woche einen Patch für die Lücke. Kaspersky-Forscher gehen davon aus,…

1 Tag ago