Oracle Decompose

Oracle Decompose



Unicode on yksi vaikutusvaltaisimmista ja tehokkaimmista koodausstandardeista kehitysmaailmassa. Unicode edustaa merkkejä lähes kaikista kielistä koodaamalla merkit kokonaislukukoodiin välillä 0 - 0x10ffff.

Tietokantojen monipuolisuuden vuoksi joudut silloin tällöin muuttamaan merkkijonon Unicode-esitykseen.







Tässä opetusohjelmassa opit käyttämään Oraclen tietokantojen decompose()-funktiota muuttamaan annettu sen Unicode-esitykseen.



Oracle Decompose -funktion syntaksi

Funktioiden syntaksi on seuraavanlainen:



DECOMPOSE( string [, { 'KANONINEN' | 'YHTEENSOPIVUUS' } ] )

Funktio hyväksyy kaksi argumenttia:





  1. merkkijono – tämä edustaa Unicode-kokoonpanoon muunnettavaa merkkijonoa. Tämän parametrin arvo voi olla CHAR, VARCHAR, NCHAR, NVARCHAR2, CLOB ja NCLOB.
  2. KANONINEN – arvon asettaminen kanoniseksi sallii funktion suorittaa kanonisen hajotuksen, joka mahdollistaa uudelleenmuodostuksen alkuperäiseen merkkijonoon. Jos sitä ei ole määritetty, toiminto käyttää tätä parametria oletuksena.
  3. YHTEENSOPIVUUS – jos arvoksi on asetettu yhteensopivuus, toiminto suorittaa hajotuksen yhteensopivuustilassa. Tämä tila ei salli uudelleenmuodostusta alkuperäiseen merkkijonoon. Käytä tätä vaihtoehtoa, kun jaat puolileveät ja täysleveät katakanamerkit.

On hyvä pitää mielessä, että CLOB- ja NCLOB-tyyppejä tuetaan eksplisiittisen muuntamisen kautta.

Esimerkki funktion käytöstä

Seuraavat esimerkit osoittavat, kuinka Oraclen tietokantojen decompose()-funktiota käytetään.



Esimerkki 1 – Perustoimintojen käyttö

Seuraava yksinkertainen koodi näyttää, kuinka hajottaa-funktiota käytetään hajottamaan merkkijono sen Unicode-esitykseen.

valitse decompose('Hei') dualin ulostuloksi;

Yllä olevan koodin suorittamisen pitäisi palauttaa lähtömerkkijono seuraavasti:

Esimerkki 2 – ASCII-koodin saaminen

Unicode-kokonaislukuarvojen hakemiseksi voimme välittää tuloksena olevan merkkijonon asciistr-funktiolle alla olevan esimerkin mukaisesti:

valitse asciistr(decompose('你好')) ulostuloksi dualista;

Lähtö:

Esimerkki 3 – Toiminnon käyttäminen ei-Unicode-merkkien kanssa

Jos annamme funktiolle muita kuin Unicode-merkkejä, funktio palauttaa syötemerkkijonon ilman muutoksia.

Esimerkkiesittely on seuraavanlainen:

valitse decompose('l') dualin ulostuloksi;

Tulos:

Sama tapaus pätee myös asciistr-funktiota käytettäessä.

valitse asciistr(('l')) dualin ulostuloksi;

Lähtö:

Esimerkki 4 – funktion käyttäminen NULL-argumentin kanssa

Funktio palauttaa NULL-arvon, jos syötearvo on NULL.

Esimerkki:

valitse (NULL) ulostuloksi dualista;

Lähtö:

Esimerkki 5 – Funktion kutsuminen puuttuvilla parametreilla

Funktion merkkijonoparametri on pakollinen. Näin ollen, jos emme välitä merkkijonoarvoa, funktio palauttaa virheen kuten on esitetty:

valitse () ulostuloksi dualista;

Tulos:

SQL-virhe: ORA-00938: funktiolle ei ole tarpeeksi argumentteja
00938. 00000 -  'funktiolle ei ole tarpeeksi argumentteja'

Johtopäätös

Tässä opetusohjelmassa opit käyttämään Oraclen decompose()-funktiota merkkijonon muuntamiseen sen Unicode-esitykseen.