オラクルを数字に変換する方法

PHPz
リリース: 2023-04-17 17:19:15
オリジナル
12848 人が閲覧しました

Oracle は、特にエンタープライズ レベルのアプリケーションにおいて、幅広いアプリケーションを備えた世界的に有名なデータベース システムの 1 つです。 Oracle には、文字列、日付、数値などの多くのデータ型があります。ただし、計算、比較、その他の操作を容易にするために、Oracle の特定のデータ型を数値型に変換する必要がある場合があります。この記事では、Oracle でさまざまなデータ型を数値型に変換する方法を紹介します。

  1. 文字列を数値に変換する

Oracle では、文字列を数値に変換する最も簡単な方法は、TO_NUMBER() 関数を使用することです。この関数の構文は TO_NUMBER(string, format) です。ここで、string は変換する必要がある文字列で、format はオプションであり、出力形式を指定するために使用されます。形式が指定されていない場合、Oracle は文字列内の数値を自動的に認識し、数値に変換します。次に例を示します。

SELECT TO_NUMBER('123') FROM DUAL;

このクエリによって返される結果は、数値 123 です。

さらに、文字列に数字以外の文字が含まれている場合、TO_NUMBER() 関数はエラーを返します。したがって、TO_NUMBER() 関数を使用する場合は、文字列に数字のみが含まれていることを確認してください。

文字列から数字以外の文字を削除する必要がある場合は、REGEXP_REPLACE() 関数を使用できます。例を次に示します。

SELECT TO_NUMBER(REGEXP_REPLACE('1,234.56', '1.]', '')) FROM DUAL;

このクエリは文字列からカンマとピリオドを削除し、結果を数値に変換します。この関数は文字列から数字以外の文字を削除するだけであり、丸めやその他の処理は実行しないことに注意してください。

  1. 日付を数値に変換する

Oracle では、日付型は非常に一般的な型です。場合によっては、計算を容易にするために日付を数値型に変換する必要があります。 Oracle では、日付を数値に変換するための 2 つの方法、TO_NUMBER() 関数を使用する方法と DATE_TO_JULIAN() 関数を使用する方法を提供しています。

TO_NUMBER() 関数を使用して日付を数値に変換する方法は、文字列を数値に変換する方法と似ています。次に例を示します。

SELECT TO_NUMBER(TO_CHAR(SYSDATE, 'yyyy')) FROM DUAL;

このクエリは、現在の年の数値を返します。日付を文字列に変換する場合、出力形式を指定する必要があることに注意してください。

DATE_TO_JULIAN() 関数を使用して日付を数値に変換する方法は、日付をユリウス日に変換し、次にユリウス日を数値に変換することです。以下に例を示します。

SELECT DATE_TO_JULIAN(SYSDATE) FROM DUAL;

このクエリは、現在の日付のユリウス日 (数値型) を返します。

  1. 他の型を数値に変換する

Oracle には、BOOLEAN 型、BINARY_INTEGER 型など、他の型もいくつかあります。これらの型は数値型ではありませんが、場合によっては数値型に変換する必要があります。このとき、CAST()関数またはTO_NUMBER()関数を使用して変換できます。

CAST() 関数を使用して他の型を数値に変換する構文は CAST(value AS NUMBER) です。ここで、value は変換する必要がある値です。以下に例を示します。

SELECT CAST(TRUE AS NUMBER) FROM DUAL;

このクエリは、true を意味する数値 1 を返します。

TO_NUMBER() 関数を使用して他の型を数値に変換する方法は、BOOLEAN 型と BINARY_INTEGER 型にも適用されます。次に例を示します。

SELECT TO_NUMBER(TRUE) FROM DUAL;

このクエリでも数値 1 が返されます。

非数値型を数値型に変換するとエラーが発生するので注意してください。したがって、これらの関数を使用する場合は、変換される値が正当であることを確認してください。同時に、オーバーフローやその他の問題を防ぐために、出力の数値型の範囲にも注意する必要があります。


  1. [:桁:

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート