// you’re reading...

Datenbank

Oracle Strings formatieren

Je nach Art und weiterer Verarbeitung von Ergebnissen von Select-SQLs kann es sinnvoll sein, notwendige String-Formatierungen bereits auf Datenbankebene während des Selects durchzuführen. Die gängigsten Formatierungsfunktionen stellt das Oracle DBMS zur Verfügung. Da Oracle nicht alle Formatierungsfunktionen anbieten kann, sollten exotische Formatierungen in einer höheren Programmiersprache durchgeführt werden. Im Folgenden zeige ich eine kurze Übersicht der am häufigsten von mir verwendeten Formatierungen von Strings.

Groß-/Kleinschreibung

Die von mir am meisten verwendeten Stringfunktionen unter Oracle sind UPPER() und LOWER(). Diese geben einen String entweder nur in Großbuchstaben, oder nur in Kleinbuchstaben zurück:

SELECT UPPER(textfeld), LOWER(textfeld) FROMtext_tabelle;

Beide Ergebnisspalten geben den Text des Felds textfeld zurück. Die linke Spalte ist in Großbuchstaben, die rechte Spalte in Kleinbuchstaben geschrieben.

Leerzeichen wegtrimmen

Wenn Textfelder Leerzeichen am Anfang oder Ende des Strings enthalten, können Sie diese mit den Funktionen LTRIM() (linke Leerzeichen entfernen), RTRIM() (rechte Leerzeichen entfernen) oder TRIM() (Kombination aus LTRIM() und RTRIM()) entfernen.

SELECT LTRIM('    Linke Leerzeichen entfernt') FROM DUAL;

liefert: “Linke Leerzeichen entfernt”. Natürlich funktioniert dies nicht nur mit Leerzeichen, sondern mit jedem beliebigen Zeichen. Beginnt ein Text beispielsweise mit Punkten, können sie diese mit LTRIM() wie folgt entfernen:

SELECT LTRIM('...Textbeginn','.') FROM DUAL;

Dies funktioniert nicht mit der kombinierten TRIM()-Funktion.

Substring selektieren

Eine weitere wichtige String-Operation ist meines Erachtens die Substring-Funktion SUBSTR(). Mit dieser können Sie den Ergebnisstring kürzen, um beispielsweise nur die ersten 100 Zeichen anzeigen zu lassen. Die Parameter sind wie folgt zu verstehen: Wenn 3 Parameter vorhanden sind, gibt Parameter 2 die Startposition (Index=0) an und Parameter 3 die Anzahl der anzuzeigenden Zeichen ab dieser Startposition. Sind nur 2 Parameter vorhanden, gibt der Parameter 2 die Startposition an und der String wird bis zum Ende angezeigt.

SELECT SUBSTR('ab Zeichen 5 anzeigen',5) FROM DUAL;
SELECT SUBSTR('ab Zeichen 5 werden 10 Zeichen angezeigt', 5, 10) FROM DUAL;

Suchen und ersetzen

Zum Schluss zähle ich noch die REPLACE()-Funktion auf, welche in einem String nach einer Zeichenkette aus Parameter 2 sucht und diese durch die Zeichenkette aus Parameter 3 ersetzt.

SELECT REPLACE('Ersetze das alte Zeichen durch neue Buchstaben', 'Buchstaben', 'Zeichen') FROM DUAL;

Im Beispiel wird die Zeichenfolge ‘Buchstaben’ gesucht und durch die Zeichenfolge ‘Zeichen’ ersetzt.

Hinweis

Die oben genannten Funktionen können über Parameter noch anwendungsfallfreundlicher eingesetzt werden. Eine genaue Auflistung  des gesamten Funktionsumfangs können Sie der Oracle-Referenz entnehmen.



Ähnliche Artikel

  1. Oracle Subquery mit Struktur statt Skalar
  2. Oracle Export nach CSV
  3. Oracle Tabellenstruktur kopieren
  4. Oracle Export
  5. E-Mail Versand mit Oracle

Diskussion

Ein Kommentar für “Oracle Strings formatieren”

  1. Hallo!

    Danke für das kleine Tutorial, hab das mit der Stringformatierung für mein Datenbanken-Praktikum im Studium gebraucht.

    Schönes Blog übrigens!

    Grüße, Tommy

    Posted by Tommy's IT-Blog | Mai 27, 2012, 17:13

Kommentar schreiben


(Eingegebener Name wird unter Impressum/Kontakt der Website validiert)

*