Unicode je jedan od najutjecajnijih i najmoćnijih standarda kodiranja u svijetu razvoja. Unicode predstavlja znakove iz gotovo svih jezika kodiranjem znakova u cjelobrojni kod između 0 i 0x10ffff.
Zbog svestranosti baza podataka, povremeno ćete se zateći kako pretvarate niz u njegovu Unicode reprezentaciju.
U ovom vodiču naučit ćete kako koristiti funkciju decompose() Oracle baze podataka za pretvaranje zadanog u Unicode prikaz.
Sintaksa Oracle dekompozicije funkcije
Sintaksa funkcije je kao što je prikazano u nastavku:
DECOMPOSE( string [, { 'CANONICAL' | 'COMPATIBILITY' } ] )
Funkcija prihvaća dva argumenta:
- Niz – ovo predstavlja niz koji treba pretvoriti u Unicode sastav. Vrijednost ovog parametra može biti CHAR, VARCHAR, NCHAR, NVARCHAR2, CLOB i NCLOB.
- KANONSKI – postavljanje vrijednosti na canonical omogućuje funkciji izvođenje kanonske dekompozicije koja omogućuje rekompoziciju u izvorni niz. Ako nije navedeno, funkcija će koristiti ovaj parametar prema zadanim postavkama.
- KOMPATIBILNOST – ako je vrijednost postavljena na kompatibilnost, funkcija će izvršiti dekompoziciju u kompatibilnom načinu rada. Ovaj način ne dopušta rekompoziciju u izvorni niz. Koristite ovu opciju kada rastavljate katakana znakove polovične i pune širine.
Dobro je imati na umu da su tipovi CLOB i NCLOB podržani eksplicitnom konverzijom.
Primjer upotrebe funkcije
Sljedeći primjeri pokazuju kako koristiti funkciju decompose() Oracle baze podataka.
Primjer 1 – Korištenje osnovne funkcije
Sljedeći jednostavan kôd pokazuje kako koristiti funkciju decompose za dekompoziciju niza na njegovu Unicode reprezentaciju.
odaberite decompose('Hello') kao izlaz iz dual;Pokretanje gornjeg koda trebalo bi vratiti izlazni niz kao:
Primjer 2 – Dohvaćanje ASCII koda
Za dohvaćanje Unicode cijelih vrijednosti, možemo proslijediti rezultirajući niz funkciji asciistr kao što je prikazano u primjeru u nastavku:
odaberite asciistr(decompose('你好')) kao izlaz iz dual;Izlaz:
Primjer 3 – Korištenje funkcije sa znakovima koji nisu Unicode
Ako funkciji damo znakove koji nisu Unicode, funkcija će vratiti ulazni niz bez ikakvih izmjena.
Primjer demonstracije je kao što je prikazano:
odaberite decompose('l') kao izlaz iz dualnog;Proizlaziti:
Isti slučaj vrijedi čak i kada koristite funkciju asciistr.
odaberite asciistr(('l')) kao izlaz iz dual;Izlaz:
Primjer 4 – Korištenje funkcije s NULL argumentom
Funkcija će vratiti vrijednost NULL ako je ulazna vrijednost NULL.
Primjer:
odaberite (NULL) kao izlaz iz dualnog;Izlaz:
Primjer 5 – Pozivanje funkcije s parametrima koji nedostaju
Potreban je parametar niza u funkciji. Dakle, ako ne uspijemo proslijediti vrijednost niza, funkcija će vratiti pogrešku kao što je prikazano:
odaberite () kao izlaz iz dualnog;Proizlaziti:
SQL pogreška: ORA-00938: nema dovoljno argumenata za funkciju00938. 00000 - 'nema dovoljno argumenata za funkciju'
Zaključak
U ovom ste vodiču naučili kako koristiti Oracleovu funkciju decompose() za pretvaranje niza u njegovu Unicode reprezentaciju.