Rumah > Artikel > Operasi dan penyelenggaraan > Bagaimana untuk melakukan penukaran ini dalam Oracle
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:
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!