Oracle は、世界で最も広く使用されているリレーショナル データベース管理システムの 1 つで、複数の 16 進数間の変換をサポートしています。基底変換は、プログラミングやデータ処理において非常に必要かつ一般的に使用される操作の 1 つです。以下では、Oracle での基底変換について説明します。
1. バイナリと 10 進数の間の変換
Oracle では、次の関数を使用してバイナリと 10 進数の間の変換を行うことができます:
たとえば、2 進数 110101 を 10 進数に変換するには、次のコマンドを使用できます。 SQL ステートメント:
SELECT BIN_TO_NUM('110101') FROM DUAL;
10 進数 42 を 2 進数に変換するには、次の SQL ステートメントを使用できます:
SELECT NUM_TO_BIN(42) FROM DUAL;
2. 8 進数と 10 進数の変換
Oracle では, 次の関数を使用して、8 進数と 10 進数を変換できます:
たとえば、8 進数 17 を 10 進数に変換するには、次の SQL ステートメントを使用できます。
SELECT OCT_TO_NUM('17') FROM DUAL;
10 進数 56 を 8 進数に変換するには、次の SQL ステートメントを使用できます。 SQL ステートメント:
SELECT NUM_TO_OCT(56) FROM DUAL;
3. 16 進数と 10 進数間の変換
Oracle では、16 進数と 10 進数間の変換に次の関数を使用できます:
たとえば、16 進数を 10 進数に変換します。基数 A1 を 10 進数に変換するには、次のようにします。次の SQL ステートメントを使用できます:
SELECT HEX_TO_NUM('A1') FROM DUAL;
10 進数 255 を 16 進数に変換するには、次の SQL ステートメントを使用できます:
SELECT NUM_TO_HEX(255) FROM DUAL;
4 .他の基本システム間の変換
Oracle では、他の基本システム間で変換する場合、変換関数と数値関数を組み合わせて使用できます。たとえば、3 進数 101 を 10 進数に変換するには、次の手順に従います。
SELECT REPLACE(' 101', '3','0') FROM DUAL
SELECT POWER(3,2) FROM DUAL
SELECT SUM(POWER(3,2)) FROM DUAL
3 つ入力してください。 システム番号 101 を 10 進数に変換する完全な SQL ステートメントは次のとおりです。
SELECT SUM(POWER(3,2-i)) * SUBSTR(REPLACE('101','3','0'),i,1) FROM ( SELECT LEVEL AS i FROM DUAL CONNECT BY LEVEL < LENGTH(REPLACE('101','3','0'))+1 );
上記の SQL ステートメントでは、SUBSTR 関数と CONNECT BY LEVEL ステートメントが使用されているほか、Oracle 固有の関数も使用されています。 LEVEL テーブルや DUAL テーブルなどの関数と構文。
概要
Oracle では、基数変換関数と数値関数を組み合わせて、異なる基数間の変換を実現できます。これらのスキルを習得すると、データベース管理とデータ処理の効率が向上します。
以上がOracleにおける塩基変換の詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。