Oracle Decompose

Oracle Decompose



Unicode är en av de mest inflytelserika och kraftfulla kodningsstandarderna i utvecklingsvärlden. Unicode representerar tecken från nästan alla språk genom att koda tecknen i en heltalskod mellan 0 och 0x10ffff.

På grund av databasernas mångsidighet kommer du då och då att konvertera en sträng till dess Unicode-representation.







I den här handledningen kommer du att lära dig hur du använder Oracle-databasens decompose()-funktion för att konvertera en given till dess Unicode-representation.



Oracle Decompose funktionssyntax

Funktionens syntax är som visas nedan:



DECOMPOSE( sträng [, { 'KANONISK' | 'KOMPATIBILITET' } ] )

Funktionen accepterar två argument:





  1. Sträng – detta representerar strängen som ska konverteras till Unicode-komposition. Värdet på denna parameter kan vara CHAR, VARCHAR, NCHAR, NVARCHAR2, CLOB och NCLOB.
  2. KANONISK – inställning av värdet till kanonisk gör att funktionen kan utföra en kanonisk nedbrytning som möjliggör omkomposition till den ursprungliga strängen. Om det inte anges kommer funktionen att använda denna parameter som standard.
  3. KOMPATIBILITET – om värdet är inställt på kompatibilitet kommer funktionen att utföra nedbrytningen i kompatibilitetsläge. Detta läge tillåter inte omkomposition till originalsträngen. Använd det här alternativet när du deponerar halvbredds- och fullbreddskatakana-tecken.

Det är bra att komma ihåg att CLOB- och NCLOB-typerna stöds via explicit konvertering.

Exempel på funktionsanvändning

Följande exempel visar hur du använder Oracle-databasernas decompose() funktion.



Exempel 1 – Grundläggande funktionsanvändning

Följande enkla kod visar hur man använder nedbrytningsfunktionen för att dekomponera en sträng till dess Unicode-representation.

välj decompose('Hej') som utdata från dual;

Att köra koden ovan bör returnera utdatasträngen som:

Exempel 2 – Hämta ASCII-koden

För att hämta Unicode-heltalsvärdena kan vi skicka den resulterande strängen till asciistr-funktionen som visas i exemplet nedan:

välj asciistr(decompose('你好')) som utdata från dual;

Produktion:

Exempel 3 – Använda funktionen med icke-Unicode-tecken

Om vi ​​tillhandahåller funktionen med icke-Unicode-tecken, kommer funktionen att returnera inmatningssträngen utan några ändringar.

Ett exempel på demonstration är som visas:

välj decompose('l') som utdata från dual;

Resultat:

Samma fall gäller även när du använder asciistr-funktionen.

välj asciistr(('l')) som utdata från dual;

Produktion:

Exempel 4 – Använda funktionen med NULL-argument

Funktionen returnerar ett NULL-värde om inmatningsvärdet är NULL.

Exempel:

välj (NULL) som utgång från dubbel;

Produktion:

Exempel 5 – Anropa funktionen med saknade parametrar

Strängparametern i funktionen krävs. Därför, om vi misslyckas med att skicka strängvärdet, kommer funktionen att returnera ett fel som visas:

välj () som utgång från dubbel;

Resultat:

SQL-fel: ORA-00938: inte tillräckligt med argument för funktion
00938. 00000 -  'inte tillräckligt med argument för funktion'

Slutsats

I den här handledningen lärde du dig hur du använder Oracles decompose()-funktion för att konvertera en sträng till dess Unicode-representation.