Rumah >Operasi dan penyelenggaraan >operasi dan penyelenggaraan linux >Bagaimana untuk melakukan penukaran ini dalam Oracle

Bagaimana untuk melakukan penukaran ini dalam Oracle

PHPz
PHPzasal
2023-04-17 09:48:511906semak imbas

Oracle ialah sistem pengurusan pangkalan data hubungan yang berkuasa yang menyokong pelbagai jenis data, termasuk jenis binari. Dalam Oracle, selalunya perlu menukar data binari kepada nombor perenambelasan. Artikel ini akan menerangkan cara melakukan penukaran ini dalam Oracle.

1. Gunakan fungsi TO_RAW untuk menukar data binari kepada perenambelasan

Dalam Oracle, anda boleh menggunakan fungsi TO_RAW untuk menukar data binari kepada jenis RAW, dan kemudian gunakan fungsi RAWTOHEX untuk menukar Jenis RAW kepada rentetan kawalan. Sebagai contoh, pernyataan SQL berikut akan menukar data binari kepada perenambelasan:

SELECT RAWTOHEX(TO_RAW('Hello, World!')) as HEX_VALUE FROM DUAL;

Selepas melaksanakan pernyataan SQL di atas, anda akan mendapat hasil berikut:

48454C4C4F2C20576F726C6421

Hasil ini ialah Tukar "Hello, Dunia!" kepada nilai perenambelasan.

2. Gunakan pakej UTL_RAW untuk menukar data binari kepada perenambelasan

Selain menggunakan fungsi TO_RAW dan RAWTOHEX, Oracle juga menyediakan pakej UTL_RAW, yang boleh menukar data binari kepada perenambelasan dengan lebih mudah Heksadesimal.

Tiga fungsi disediakan dalam pakej UTL_RAW:

  1. CAST_TO_RAW: Tukar rentetan kepada jenis RAW.
  2. CAST_FROM_RAW: Tukar jenis RAW kepada rentetan.
  3. HEX_TO_RAW: Tukar rentetan perenambelasan kepada jenis RAW.

Sebagai contoh, pernyataan SQL berikut menggunakan pakej UTL_RAW untuk menukar data binari kepada perenambelasan:

SELECT UTL_RAW.CAST_TO_RAW('Hello, World!') as RAW_VALUE, UTL_RAW.CAST_TO_RAW('Hello, World!') as HEX_VALUE from DUAL;

Selepas melaksanakan pernyataan SQL di atas, anda akan mendapat keputusan berikut:

48454C4C4F2C20576F726C6421,0x48454C4C4F2C20576F726C6421

Antaranya, lajur RAW_VALUE menunjukkan hasil selepas menukar "Hello, World!" lajur HEX_VALUE menunjukkan hasil selepas menukar jenis RAW kepada rentetan heksadesimal.

Perlu diambil perhatian bahawa apabila menggunakan pakej UTL_RAW untuk melakukan penukaran perenambelasan, data input mestilah rentetan perenambelasan dengan nombor genap digit. Sebagai contoh, pernyataan SQL berikut akan membuang pengecualian:

SELECT UTL_RAW.HEX_TO_RAW('48454C4C4F2C20576F726C642') from DUAL;

Kerana "48454C4C4F2C20576F726C642" ialah rentetan perenambelasan dengan digit ganjil. Cara yang betul untuk menulisnya hendaklah:

SELECT UTL_RAW.HEX_TO_RAW('48454C4C4F2C20576F726C6421') from DUAL;

3. Ringkasan

Terdapat banyak kaedah untuk dipilih untuk menukar data binari kepada perenambelasan dalam Oracle Anda boleh menggunakan TO_RAW dan RAWTOHEX Anda juga boleh menggunakan fungsi berkaitan pakej UTL_RAW. Sama ada cara, penukaran ini boleh dicapai dengan mudah.

Atas ialah kandungan terperinci Bagaimana untuk melakukan penukaran ini dalam Oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn