Oracle Decompose

Oracle Decompose



Unicode on arendusmaailmas üks mõjukamaid ja võimsamaid kodeerimisstandardeid. Unicode esindab peaaegu kõigi keelte märke, kodeerides tähemärgid täisarvkoodis vahemikus 0 kuni 0x10ffff.

Andmebaaside mitmekülgsuse tõttu avastate end aeg-ajalt teisendamas stringi selle Unicode'i esitusviisiks.







Sellest õpetusest saate teada, kuidas kasutada Oracle'i andmebaaside funktsiooni decompose(), et teisendada antud Unicode'i esitusviisiks.



Funktsiooni Oracle Decompose süntaks

Funktsiooni süntaks on järgmine:



DECOMPOSE(string [, { 'KANOONILINE' | 'ÜHILDUS' } ] )

Funktsioon aktsepteerib kahte argumenti:





  1. String – see tähistab stringi, mis teisendatakse Unicode'i kompositsiooniks. Selle parameetri väärtus võib olla CHAR, VARCHAR, NCHAR, NVARCHAR2, CLOB ja NCLOB.
  2. KANOONILINE – väärtuse määramine kanooniliseks võimaldab funktsioonil teostada kanoonilist dekomponeerimist, mis võimaldab uuesti komponeerida algse stringi järgi. Kui pole määratud, kasutab funktsioon seda parameetrit vaikimisi.
  3. Ühilduvus – kui väärtuseks on seatud ühilduvus, teostab funktsioon ühilduvusrežiimis dekomponeerimise. See režiim ei võimalda algse stringi ümberkomponeerimist. Kasutage seda suvandit pool- ja täislaiuste katakana märkide lahutamisel.

Hea on meeles pidada, et CLOB- ja NCLOB-tüüpe toetatakse selgesõnalise teisendamise kaudu.

Funktsiooni kasutamise näide

Järgmised näited näitavad, kuidas kasutada Oracle'i andmebaaside funktsiooni decompose ().



Näide 1 – funktsioonide põhikasutus

Järgmine lihtne kood näitab, kuidas kasutada dekomponeerimisfunktsiooni stringi Unicode'i esitusviisiks jaotamiseks.

vali duali väljundiks decompose('Tere');

Ülaltoodud koodi käivitamine peaks tagastama väljundstringi järgmiselt:

Näide 2 – ASCII koodi hankimine

Unicode'i täisarvude väärtuste toomiseks saame saadud stringi edastada funktsioonile asciistr, nagu on näidatud allolevas näites:

vali asciistr(decompose('你好')) duali väljundiks;

Väljund:

Näide 3 – funktsiooni kasutamine mitte-Unicode tähemärkidega

Kui pakume funktsiooni mitte-Unicode-märkidega, tagastab funktsioon sisendstringi ilma muudatusteta.

Näidisesitlus on järgmine:

vali duali väljundiks decompose('l');

Tulemus:

Sama juhtum kehtib ka asciistr funktsiooni kasutamisel.

vali asciistr(('l')) duali väljundiks;

Väljund:

Näide 4 – funktsiooni kasutamine NULL-argumendiga

Funktsioon tagastab NULL väärtuse, kui sisendväärtus on NULL.

Näide:

vali (NULL) väljundiks kahest;

Väljund:

Näide 5 – puuduvate parameetritega funktsiooni kutsumine

Funktsiooni stringi parameeter on nõutav. Seega, kui me ei suuda stringi väärtust edastada, tagastab funktsioon tõrketeate, nagu näidatud:

vali () duali väljundiks;

Tulemus:

SQL-i viga: ORA-00938: funktsiooni jaoks pole piisavalt argumente
00938. 00000 – 'funktsiooni jaoks pole piisavalt argumente'

Järeldus

Selles õpetuses õppisite, kuidas kasutada Oracle'i funktsiooni decompose(), et teisendada string selle Unicode'i esitusviisiks.