ホームページ  >  記事  >  データベース  >  Oracleで10進数を2進数に変換する方法

Oracleで10進数を2進数に変換する方法

PHPz
PHPzオリジナル
2023-04-18 09:07:421941ブラウズ

Oracle データベースでは、バイナリ変換は一般的な要件です。バイナリ変換では、保存と処理を容易にするために、10 進数をバイナリ文字列に変換します。この記事では、Oracle データベースで 10 進数を 2 進数の文字列に変換する方法を説明します。

Oracle データベースでは、10 進数をバイナリ文字列に変換する方法が 2 つあります。 1 つ目の方法は、TO_NUMBER 関数を使用して 10 進数を 2 進数に変換し、次に UTL_RAW.CAST_FROM_NUMBER 関数を使用して 2 進数をバイナリ文字列に変換することです。 2 番目の方法は、TO_CHAR 関数を使用して 10 進数をバイナリ文字列に変換する方法です。

ここで、これら 2 つの方法の使用方法を、次の 2 つの例で説明します。

例 1: TO_NUMBER 関数と UTL_RAW.CAST_FROM_NUMBER 関数を使用して 10 進数をバイナリ文字列に変換する

この例では、TO_NUMBER 関数と UTL_RAW.CAST_FROM_NUMBER 関数を使用して 10 進数を変換します9 をバイナリ文字列に変換します。まず、TO_NUMBER 関数を使用して 10 進数の 9 を 2 進数に変換し、次に UTL_RAW.CAST_FROM_NUMBER 関数を使用して 2 進数をバイナリ文字列に変換します。

以下はコード例です:

SELECT UTL_RAW.CAST_TO_VARCHAR2(UTL_RAW.BIT_AND(UTL_RAW.CAST_FROM_NUMBER(TO_NUMBER(9, '999')),

        UTL_RAW.CAST_FROM_NUMBER(TO_NUMBER(POWER(2, LEVEL - 1), '999')))) binary_value

FROM DUAL

CONNECT BY LEVEL

出力結果:

BINARY_VALUE

1001

上記のコードでは、CONNECT BY ステートメントと LEVEL ステートメントを使用してバイナリ文字列の各桁を生成しました。最初に 10 進数の 9 を 2 進数に変換し、次に POWER 関数を使用して次の桁数を計算します。 BIT_AND 関数を使用し、CAST_FROM_NUMBER 関数で各桁を 2 進数と比較します。最後に、CAST_TO_VARCHAR2 関数を使用して、比較の結果をバイナリ文字列に変換します。

例 2: 10 進数を 10 進数に変換するTO_CHAR 関数を使用したバイナリ文字列

この例では、TO_CHAR 関数を使用して、10 進数の 9 をバイナリ文字列に変換します。

コード例は次のとおりです:

SELECT TO_CHAR(9, 'FM99999999999999990B' ) binary_value FROM DUAL;

出力結果:

BINARY_VALUE

1001

上記のコードでは、 TO_CHAR 関数を使用して、10 進数 9 をバイナリ文字列に変換します。TO_CHAR 関数では、「B」はバイナリを表し、数値の後の文字「FM」は形式モデルです。この形式モデルでは、大文字を使用します

結論

TO_NUMBER 関数と UTL_RAW.CAST_FROM_NUMBER 関数を使用している場合でも、Oracle データベースの TO_CHAR 関数を使用している場合でも、10 進数をバイナリ文字列に簡単に変換できます。 . これにより、数値データの処理と保存がより便利かつ効率的に行われます。

以上がOracleで10進数を2進数に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。