Oracle は、エンタープライズ レベルのアプリケーションの開発で広く使用されているリレーショナル データベース管理システムです。 Oracle データベースでは、10 進数を 2 進数または 16 進数に変換するなど、基数変換を実行する必要があることがよくあります。この記事では、Oracle における基底変換関数とその応用について紹介します。
Oracle で一般的に使用される基数には、2 進数 (基数 2)、8 進数 (基数 8)、10 進数 (基数 10)、および 16 進数 (基数 16) があります。
1. バイナリ変換関数: TO_BINARY_DOUBLE、TO_BINARY_FLOAT、TO_BLOB、TO_CHAR
TO_BINARY_DOUBLE 関数は、数値を IEEE 754 バイナリ倍精度浮動小数点形式で表します:
SELECT TO_BINARY_DOUBLE(5 ) FROM DUAL;
出力結果は次のとおりです: 0100000000010100000000000000000000000000000000000000000000000
TO_BINARY_FLOAT 関数は数値を IEEE 754 バイナリ単精度浮動小数点形式で表します:
SELECT TO_ BINARY_FLOAT( 5) からDUAL;
出力結果は次のとおりです: 01000000101000000000000000000000
TO_BLOB 関数は 16 進文字列をバイナリ データに変換します:
SELECT TO_BLOB('FFD8FFE000104A46494600010101004800480000') FROM DUAL;
出力結果は次のとおりです: ÿØÿàJFIFÿÛC
TO_CHAR 関数はバイナリ データを ASCII 文字列に変換します:
SELECT TO_CHAR(hextoraw('48454C4C4F'),'UTf8') FROM DUAL;
出力結果は次のとおりです: HELLO
2. 8 進数変換関数: TO_NUMBER
TO_NUMBER 関数は 8 進数の文字列を 10 進数の値に変換できます:
SELECT TO_NUMBER(' 377 ', 'OOO') FROM DUAL;
出力結果は: 255
3. 16 進数変換関数: HEXTORAW、RAWTOHEX、UTL_RAW
HEXTORAW 関数は 16 進数を変換します文字列からバイナリ データへの変換:
SELECT HEXTORAW('48454C4C4F') FROM DUAL;
出力結果は次のとおりです: HELLO
RAWTOHEX 関数はバイナリ データを変換します。これは 16 進文字列です。
SELECT RAWTOHEX('HELLO') FROM DUAL;
出力結果は次のとおりです: 48454C4C4F
UTL_RAW には多くのバイナリ変換関数が含まれています。たとえば、UTL_RAW.CAST_TO_RAW は、文字列をバイナリ データに変換し、UTL_RAW.CAST_TO_VARCHAR2 を使用してバイナリ データを文字列に変換できます。
4. 10 進数変換関数: TO_CHAR、TO_NUMBER
TO_CHAR 関数は数値を文字列に変換できます:
SELECT TO_CHAR(123) FROM DUAL;
##出力結果は次のとおりです: 123TO_NUMBER 関数は文字列を数値に変換できます: SELECT TO_NUMBER('123') FROM DUAL;出力結果は次のとおりです: 123概要: Oracle は、異なる塩基間で簡単に変換できる豊富な塩基変換関数を提供します。実際のアプリケーションでは、これらの機能をデータ処理と分析に使用してデータ処理効率を向上させ、アプリケーションをより効率的かつ安定させることができます。以上がOracleで16進数変換を実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。