Oracle Decompose

Oracle Decompose



Unicode ialah salah satu piawaian pengekodan yang paling berpengaruh dan berkuasa dalam dunia pembangunan. Unicode mewakili aksara daripada hampir semua bahasa dengan mengekodkan aksara dalam kod integer antara 0 dan 0x10ffff.

Disebabkan kepelbagaian pangkalan data, anda akan, sekali-sekala, mendapati diri anda menukar rentetan kepada perwakilan Unicodenya.







Dalam tutorial ini, anda akan belajar cara menggunakan fungsi decompose() pangkalan data Oracle untuk menukar yang diberikan kepada perwakilan Unicodenya.



Sintaks Fungsi Penguraian Oracle

Sintaks fungsi adalah seperti yang ditunjukkan di bawah:



DECOMPOSE( rentetan [, { 'KANONIKAL' | 'KESESUAIAN' } ] )

Fungsi ini menerima dua hujah:





  1. Tali – ini mewakili rentetan untuk ditukar kepada komposisi Unicode. Nilai parameter ini boleh CHAR, VARCHAR, NCHAR, NVARCHAR2, CLOB dan NCLOB.
  2. KANONIKAL – menetapkan nilai kepada kanonik membolehkan fungsi melakukan penguraian kanonik yang membolehkan untuk gubahan semula kepada rentetan asal. Jika tidak dinyatakan, fungsi akan menggunakan parameter ini secara lalai.
  3. KESESUAIAN – jika nilai ditetapkan kepada keserasian, fungsi akan melakukan penguraian dalam mod keserasian. Mod ini tidak membenarkan gubahan semula kepada rentetan asal. Gunakan pilihan ini apabila mengurai aksara katakana separuh lebar dan lebar penuh.

Adalah baik untuk diingat bahawa jenis CLOB dan NCLOB disokong melalui penukaran eksplisit.

Contoh Penggunaan Fungsi

Contoh berikut menunjukkan cara menggunakan fungsi decompose() pangkalan data Oracle.



Contoh 1 – Penggunaan Fungsi Asas

Kod ringkas berikut menunjukkan cara menggunakan fungsi penguraian untuk menguraikan rentetan kepada perwakilan Unikodnya.

pilih decompose('Hello') sebagai output daripada dual;

Menjalankan kod di atas harus mengembalikan rentetan output sebagai:

Contoh 2 – Mendapatkan Kod ASCII

Untuk mengambil nilai integer Unicode, kita boleh menghantar rentetan yang terhasil kepada fungsi asciistr seperti yang ditunjukkan dalam contoh di bawah:

pilih asciistr(decompose('你好')) sebagai output daripada dwi;

Pengeluaran:

Contoh 3 – Menggunakan Fungsi dengan Aksara Bukan Unikod

Jika kami menyediakan fungsi dengan aksara bukan Unicode, fungsi itu akan mengembalikan rentetan input tanpa sebarang pengubahsuaian.

Contoh demonstrasi adalah seperti yang ditunjukkan:

pilih decompose('l') sebagai output daripada dwi;

Keputusan:

Kes yang sama terpakai walaupun semasa menggunakan fungsi asciistr.

pilih asciistr(('l')) sebagai output daripada dwi;

Pengeluaran:

Contoh 4 – Menggunakan Fungsi dengan Argumen NULL

Fungsi ini akan mengembalikan nilai NULL jika nilai input adalah NULL.

Contoh:

pilih (NULL) sebagai output daripada dwi;

Pengeluaran:

Contoh 5 – Memanggil Fungsi dengan Parameter yang Hilang

Parameter rentetan dalam fungsi diperlukan. Oleh itu, jika kita gagal untuk lulus nilai rentetan, fungsi akan mengembalikan ralat seperti yang ditunjukkan:

pilih () sebagai output daripada dwi;

Keputusan:

Ralat SQL: ORA-00938: tidak cukup argumen untuk fungsi
00938. 00000 -  'hujah tidak mencukupi untuk fungsi'

Kesimpulan

Dalam tutorial ini, anda mempelajari cara menggunakan fungsi decompose() Oracle untuk menukar rentetan kepada perwakilan Unicodenya.