Oracle-Zerlegung

Oracle Zerlegung



Unicode ist einer der einflussreichsten und leistungsstärksten Kodierungsstandards in der Entwicklungswelt. Unicode stellt Zeichen aus fast allen Sprachen dar, indem die Zeichen in einem Integer-Code zwischen 0 und 0x10ffff codiert werden.

Aufgrund der Vielseitigkeit von Datenbanken werden Sie hin und wieder feststellen, dass Sie einen String in seine Unicode-Darstellung konvertieren müssen.







In diesem Tutorial erfahren Sie, wie Sie die decompose()-Funktion von Oracle-Datenbanken verwenden, um eine gegebene in ihre Unicode-Darstellung zu konvertieren.



Syntax der Oracle-Zerlegungsfunktion

Die Funktionssyntax ist wie folgt:



DECOMPOSE( string [, { 'CANONICAL' | 'COMPATIBILITY' } ] )

Die Funktion akzeptiert zwei Argumente:





  1. Schnur – Dies stellt die Zeichenfolge dar, die in eine Unicode-Komposition konvertiert werden soll. Der Wert dieses Parameters kann CHAR, VARCHAR, NCHAR, NVARCHAR2, CLOB und NCLOB sein.
  2. KANONISCH – Wenn Sie den Wert auf kanonisch setzen, kann die Funktion eine kanonische Zerlegung durchführen, die eine Neuzusammensetzung der ursprünglichen Zeichenfolge ermöglicht. Wenn nicht angegeben, verwendet die Funktion diesen Parameter standardmäßig.
  3. KOMPATIBILITÄT – Wenn der Wert auf Kompatibilität gesetzt ist, führt die Funktion die Dekomposition im Kompatibilitätsmodus durch. Dieser Modus erlaubt keine Neuzusammenstellung der Originalzeichenfolge. Verwenden Sie diese Option, wenn Sie Katakana-Zeichen mit halber und voller Breite zerlegen.

Denken Sie daran, dass CLOB- und NCLOB-Typen über eine explizite Konvertierung unterstützt werden.

Beispielfunktionsverwendung

Die folgenden Beispiele zeigen, wie die decompose()-Funktion von Oracle-Datenbanken verwendet wird.



Beispiel 1 – Grundlegende Funktionsnutzung

Der folgende einfache Code zeigt, wie die Decompose-Funktion verwendet wird, um eine Zeichenfolge in ihre Unicode-Darstellung zu zerlegen.

wähle decompose('Hello') als Ausgabe von dual;

Das Ausführen des obigen Codes sollte die Ausgabezeichenfolge wie folgt zurückgeben:

Beispiel 2 – Abrufen des ASCII-Codes

Um die ganzzahligen Unicode-Werte abzurufen, können wir die resultierende Zeichenfolge an die asciistr-Funktion übergeben, wie im folgenden Beispiel gezeigt:

asciistr(decompose('你好')) als Ausgabe von dual auswählen;

Ausgabe:

Beispiel 3 – Verwenden der Funktion mit Nicht-Unicode-Zeichen

Wenn wir die Funktion mit Nicht-Unicode-Zeichen versehen, gibt die Funktion die Eingabezeichenfolge ohne Änderungen zurück.

Eine beispielhafte Demonstration sieht wie folgt aus:

wähle decompose('l') als Ausgabe von dual;

Ergebnis:

Derselbe Fall gilt auch bei Verwendung der asciistr-Funktion.

asciistr(('l')) als Ausgabe von dual auswählen;

Ausgabe:

Beispiel 4 – Verwenden der Funktion mit NULL-Argument

Die Funktion gibt einen NULL-Wert zurück, wenn der Eingabewert NULL ist.

Beispiel:

wähle (NULL) als Ausgang von dual;

Ausgabe:

Beispiel 5 – Aufruf der Funktion mit fehlenden Parametern

Der Zeichenfolgenparameter in der Funktion ist erforderlich. Wenn wir also den Zeichenfolgenwert nicht übergeben, gibt die Funktion einen Fehler wie gezeigt zurück:

select () als Ausgang von dual;

Ergebnis:

SQL-Fehler: ORA-00938: nicht genügend Argumente für die Funktion
00938. 00000 -  'nicht genügend Argumente für Funktion'

Fazit

In diesem Lernprogramm haben Sie gelernt, wie Sie die decompose()-Funktion von Oracle verwenden, um eine Zeichenfolge in ihre Unicode-Darstellung zu konvertieren.