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:
- String – see tähistab stringi, mis teisendatakse Unicode'i kompositsiooniks. Selle parameetri väärtus võib olla CHAR, VARCHAR, NCHAR, NVARCHAR2, CLOB ja NCLOB.
- 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.
- Ü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 argumente00938. 00000 – 'funktsiooni jaoks pole piisavalt argumente'
Järeldus
Selles õpetuses õppisite, kuidas kasutada Oracle'i funktsiooni decompose(), et teisendada string selle Unicode'i esitusviisiks.