Linguistische Hilfsfunktionen in SQL erzeugen

Kleine Aufgaben in einem globalen Umfeld können viel Arbeit nach sich ziehen. So vereinfacht man zum Beispiel das Leben schon, wenn eine Zahl automatisch in ihre ausgeschriebene Variante übertragen werden kann. Was nicht immer ein leichtes Unterfangen ist.

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:


Themenseiten: Big Data, Datenbank, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Linguistische Hilfsfunktionen in SQL erzeugen

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *