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:
- 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.
- 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.
- 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 Funktion00938. 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.