Bagaimana untuk melakukan penukaran ini dalam Oracle

PHPz
Lepaskan: 2023-04-17 10:08:57
asal
1874 orang telah melayarinya

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;
Salin selepas log masuk

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

48454C4C4F2C20576F726C6421
Salin selepas log masuk

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;
Salin selepas log masuk

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

48454C4C4F2C20576F726C6421,0x48454C4C4F2C20576F726C6421
Salin selepas log masuk

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;
Salin selepas log masuk

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

SELECT UTL_RAW.HEX_TO_RAW('48454C4C4F2C20576F726C6421') from DUAL;
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan