Unicode je eden najvplivnejših in najmočnejših standardov kodiranja v svetu razvoja. Unicode predstavlja znake iz skoraj vseh jezikov tako, da kodira znake v celoštevilsko kodo med 0 in 0x10ffff.
Zaradi vsestranskosti baz podatkov se boste občasno znašli pri pretvarjanju niza v njegovo predstavitev Unicode.
V tej vadnici se boste naučili, kako uporabiti funkcijo decompose() baz podatkov Oracle za pretvorbo podane v njeno predstavitev Unicode.
Sintaksa funkcije Oracle Decompose
Sintaksa funkcije je prikazana spodaj:
DECOMPOSE( niz [, { 'KANONIČNO' | 'ZDRUŽLJIVOST' } ] )
Funkcija sprejme dva argumenta:
- Vrvica – to predstavlja niz, ki ga je treba pretvoriti v sestavo Unicode. Vrednost tega parametra je lahko CHAR, VARCHAR, NCHAR, NVARCHAR2, CLOB in NCLOB.
- KANONIČNO – nastavitev vrednosti na canonical omogoča funkciji izvedbo kanonične razgradnje, ki omogoča ponovno sestavo v izvirni niz. Če ni naveden, bo funkcija privzeto uporabila ta parameter.
- KOMPATIBILNOST – če je vrednost nastavljena na združljivost, bo funkcija izvedla razgradnjo v združljivem načinu. Ta način ne dovoljuje rekompozicije v izvirni niz. Uporabite to možnost pri razgradnji znakov katakane polovične in polne širine.
Dobro je upoštevati, da sta tipa CLOB in NCLOB podprta z eksplicitno pretvorbo.
Primer uporabe funkcije
Naslednji primeri prikazujejo, kako uporabljati funkcijo decompose() baze podatkov Oracle.
Primer 1 – Uporaba osnovne funkcije
Naslednja preprosta koda prikazuje, kako uporabiti funkcijo decompose za razgradnjo niza na njegovo predstavitev Unicode.
izberite decompose('Hello') kot izhod iz dual;Zagon zgornje kode bi moral vrniti izhodni niz kot:
Primer 2 – Pridobivanje kode ASCII
Za pridobivanje celoštevilskih vrednosti Unicode lahko nastali niz posredujemo funkciji asciistr, kot je prikazano v spodnjem primeru:
izberite asciistr(decompose('你好')) kot izhod iz dvojine;Izhod:
Primer 3 – Uporaba funkcije z znaki, ki niso Unicode
Če funkciji zagotovimo znake, ki niso Unicode, bo funkcija vrnila vhodni niz brez kakršnih koli sprememb.
Primer predstavitve je, kot je prikazano:
izberite decompose('l') kot izhod iz dual;rezultat:
Enak primer velja tudi pri uporabi funkcije asciistr.
izberite asciistr(('l')) kot izhod iz dvojine;Izhod:
Primer 4 – Uporaba funkcije z argumentom NULL
Funkcija bo vrnila vrednost NULL, če je vhodna vrednost NULL.
primer:
izberite (NULL) kot izhod iz dvojine;Izhod:
Primer 5 – Klicanje funkcije z manjkajočimi parametri
Parameter niza v funkciji je obvezen. Torej, če nam ne uspe posredovati vrednosti niza, bo funkcija vrnila napako, kot je prikazano:
izberite () kot izhod iz dvojnega;rezultat:
Napaka SQL: ORA-00938: ni dovolj argumentov za funkcijo00938. 00000 - 'ni dovolj argumentov za funkcijo'
Zaključek
V tej vadnici ste se naučili, kako uporabiti Oraclovo funkcijo decompose() za pretvorbo niza v njegovo predstavitev Unicode.