Scomponi oracolo

Scomponi Oracolo



Unicode è uno degli standard di codifica più influenti e potenti nel mondo dello sviluppo. Unicode rappresenta i caratteri di quasi tutte le lingue codificando i caratteri in un codice intero compreso tra 0 e 0x10ffff.

A causa della versatilità dei database, ti ritroverai, di tanto in tanto, a convertire una stringa nella sua rappresentazione Unicode.







In questo tutorial imparerai come utilizzare la funzione decompose() dei database Oracle per convertire un dato nella sua rappresentazione Unicode.



Sintassi della funzione di decomposizione Oracle

La sintassi della funzione è come mostrato di seguito:



DECOMPOSE( string [, { 'CANONICAL' | 'COMPATIBILITY' } ] )

La funzione accetta due argomenti:





  1. Corda – questo rappresenta la stringa da convertire in composizione Unicode. Il valore di questo parametro può essere CHAR, VARCHAR, NCHAR, NVARCHAR2, CLOB e NCLOB.
  2. CANONICO – l'impostazione del valore su canonical consente alla funzione di eseguire una scomposizione canonica che consente la ricomposizione alla stringa originale. Se non specificato, la funzione utilizzerà questo parametro per impostazione predefinita.
  3. COMPATIBILITÀ – se il valore è impostato su compatibilità, la funzione eseguirà la scomposizione in modalità compatibilità. Questa modalità non consente la ricomposizione alla stringa originale. Utilizzare questa opzione durante la scomposizione di caratteri katakana a mezza larghezza ea larghezza intera.

È bene tenere presente che i tipi CLOB e NCLOB sono supportati tramite conversione esplicita.

Esempio di utilizzo della funzione

Gli esempi seguenti mostrano come utilizzare la funzione decompose() dei database Oracle.



Esempio 1 – Utilizzo delle funzioni di base

Il seguente semplice codice mostra come usare la funzione decompose per scomporre una stringa nella sua rappresentazione Unicode.

select decompose('Hello') come output da dual;

L'esecuzione del codice precedente dovrebbe restituire la stringa di output come:

Esempio 2 – Ottenere il codice ASCII

Per recuperare i valori interi Unicode, possiamo passare la stringa risultante alla funzione asciistr come mostrato nell'esempio seguente:

select asciistr(decompose('你好')) come output da dual;

Produzione:

Esempio 3: utilizzo della funzione con caratteri non Unicode

Se forniamo alla funzione caratteri non Unicode, la funzione restituirà la stringa di input senza alcuna modifica.

Un esempio dimostrativo è come mostrato:

select decompose('l') come output da dual;

Risultato:

Lo stesso caso si applica anche quando si usa la funzione asciistr.

select asciistr(('l')) come output da dual;

Produzione:

Esempio 4 – Utilizzo della funzione con argomento NULL

La funzione restituirà un valore NULL se il valore di input è NULL.

Esempio:

selezionare (NULL) come output da dual;

Produzione:

Esempio 5 – Chiamare la funzione con parametri mancanti

Il parametro stringa nella funzione è obbligatorio. Quindi, se non riusciamo a passare il valore della stringa, la funzione restituirà un errore come mostrato:

select () come output da dual;

Risultato:

Errore SQL: ORA-00938: argomenti insufficienti per la funzione
00938. 00000 -  'argomenti insufficienti per la funzione'

Conclusione

In questo tutorial, hai imparato come utilizzare la funzione decompose() di Oracle per convertire una stringa nella sua rappresentazione Unicode.