Oracle Decompose

Oracle Decompose



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:





  1. Niz – ovo predstavlja niz koji treba pretvoriti u Unicode sastav. Vrijednost ovog parametra može biti CHAR, VARCHAR, NCHAR, NVARCHAR2, CLOB i NCLOB.
  2. 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.
  3. 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 funkciju
00938. 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.