Unicode er en av de mest innflytelsesrike og kraftige kodingsstandardene i utviklingsverdenen. Unicode representerer tegn fra nesten alle språk ved å kode tegnene i en heltallskode mellom 0 og 0x10ffff.
På grunn av allsidigheten til databaser, vil du en gang i blant finne deg selv å konvertere en streng til dens Unicode-representasjon.
I denne opplæringen vil du lære hvordan du bruker Oracle-databasers decompose()-funksjon for å konvertere en gitt til Unicode-representasjonen.
Oracle Decompose funksjonssyntaks
Funksjonssyntaksen er som vist nedenfor:
DEKOMPOSE( streng [, { 'KANONISK' | 'KOMPATIBILITET' } ] )
Funksjonen godtar to argumenter:
- String – dette representerer strengen som skal konverteres til Unicode-komposisjon. Verdien til denne parameteren kan være CHAR, VARCHAR, NCHAR, NVARCHAR2, CLOB og NCLOB.
- KANONISK – ved å sette verdien til kanonisk lar funksjonen utføre en kanonisk dekomponering som muliggjør rekomponering til den opprinnelige strengen. Hvis ikke spesifisert, vil funksjonen bruke denne parameteren som standard.
- KOMPATIBILITET – hvis verdien er satt til kompatibilitet, vil funksjonen utføre dekomponeringen i kompatibilitetsmodus. Denne modusen tillater ikke omkomponering til den opprinnelige strengen. Bruk dette alternativet når du dekomponerer halv-bredde og full-bredde katakana-tegn.
Det er greit å huske på at CLOB- og NCLOB-typer støttes via eksplisitt konvertering.
Eksempel på funksjonsbruk
Følgende eksempler viser hvordan du bruker Oracle-databasers decompose()-funksjon.
Eksempel 1 – Grunnleggende funksjonsbruk
Følgende enkle kode viser hvordan du bruker dekomponer-funksjonen til å dekomponere en streng til dens Unicode-representasjon.
velg decompose('Hei') som utgang fra dual;Å kjøre koden ovenfor bør returnere utdatastrengen som:
Eksempel 2 – Få ASCII-koden
For å hente Unicode-heltallsverdiene kan vi sende den resulterende strengen til asciistr-funksjonen som vist i eksemplet nedenfor:
velg asciistr(decompose('你好')) som utdata fra dual;Produksjon:
Eksempel 3 – Bruk av funksjonen med ikke-Unicode-tegn
Hvis vi gir funksjonen ikke-Unicode-tegn, vil funksjonen returnere inndatastrengen uten noen modifikasjoner.
Et eksempel på demonstrasjon er som vist:
velg decompose('l') som utdata fra dual;Resultat:
Det samme tilfellet gjelder selv når du bruker asciistr-funksjonen.
velg asciistr(('l')) som utdata fra dual;Produksjon:
Eksempel 4 – Bruk av funksjonen med NULL-argument
Funksjonen vil returnere en NULL-verdi hvis inngangsverdien er NULL.
Eksempel:
velg (NULL) som utgang fra dual;Produksjon:
Eksempel 5 – Kalle opp funksjonen med manglende parametere
Strengeparameteren i funksjonen er påkrevd. Derfor, hvis vi ikke klarer å passere strengverdien, vil funksjonen returnere en feil som vist:
velg () som utgang fra dual;Resultat:
SQL-feil: ORA-00938: ikke nok argumenter for funksjon00938. 00000 - 'ikke nok argumenter for funksjon'
Konklusjon
I denne opplæringen lærte du hvordan du bruker Oracles decompose()-funksjon for å konvertere en streng til dens Unicode-representasjon.