ホームページ  >  記事  >  データベース  >  Oracleで数値をクエリする方法

Oracleで数値をクエリする方法

PHPz
PHPzオリジナル
2023-04-04 09:13:022705ブラウズ

Oracle データベースは、世界中で人気のあるリレーショナル データベース管理システムであり、整数 (INTEGER)、小数 (FLOAT)、倍精度 (DOUBLE PRECISION) などの数値型を含む複数のデータ型をサポートしています。 Oracle データベース内の数値のクエリは基本的な操作です。以下でさらに詳しく学びましょう。

1. Oracle の数値データ型

Oracle データベースの数値データ型には、主に整数型と 10 進型があります。整数型には NUMBER および INTEGER が含まれ、10 進数型には FLOAT、DOUBLE PRECISION、BINARY FLOAT、および BINARY_DOUBLE が含まれます。以下に一つずつ紹介していきましょう。

1. NUMBER 型

NUMBER 型は Oracle データベースで最も一般的に使用される数値型であり、その範囲は -10^124~10^124 です。 NUMBER 型は任意の桁数を格納できますが、精度と位取りが指定されていない場合は、最大の領域を占有します。精度とスケールを指定するには、次のメソッドを使用できます。

NUMBER(precision,scale)

上記のステートメントでは、精度は合計桁数 (最大 38) を表し、スケールはセクションの長さを 10 進数で表します (最大精度)。

2. INTEGER 型

INTEGER 型は整数の格納に使用され、その範囲は -2^31 ~ 2^31-1 です。より大きな数値範囲が必要な場合は、NUMBERタイプを使用する必要があります。 INTEGER 型では、精度と位取りを指定する必要はありません。

3. FLOAT 型

FLOAT 型は、1.17E^-38 ~ 3.4E^38 の範囲と 126 ビットの精度の浮動小数点数を格納するために使用されます。浮動小数点の精度は不安定であるため、比較する場合は十分に注意してください。

4. DOUBLE PRECISION 型

DOUBLE PRECISION 型は、範囲が 2.2E^-308 ~ 1.8E^308、精度が 15 桁の浮動小数点数を格納するためにも使用されます。 。 FLOAT型に比べ精度が高く安定しています。

2. Oracle 数値クエリ

上記の数値型を使用すると、Oracle データベースで数値クエリを実行できます。 Oracle データベースにはさまざまなクエリ ステートメントが用意されており、一般的に使用されるクエリ ステートメントには、SELECT、WHERE、GROUP BY、HAVING、ORDER BY などが含まれます。

1. SELECT クエリ

Oracle データベースでは、SELECT ステートメントを使用して数値をクエリできます。たとえば、次のステートメントを使用して、すべての学生の合計スコアをクエリできます:

SELECT SUM(score) FROM Student;

ここで、SUM 関数は、指定された列の数値を合計できます。合計スコアを取得します。

2. WHERE クエリ

WHERE ステートメントはクエリ条件を指定するために使用され、数値型のクエリに使用できます。たとえば、次のステートメントを使用して、スコアが 80 を超えるすべての学生をクエリできます:

SELECT * FROM Student WHERE Score > 80;

ここでは、WHERE ステートメントによりレコードが除外されます。スコアが 80 を超える場合は、SELECT クエリを使用して結果を表示します。

3. GROUP BY クエリ

GROUP BY ステートメントは、同じ値をグループ化するために使用されます。たとえば、次のステートメントを使用して、クラスに基づいて平均スコアをクエリできます:

SELECT class, AVG(score) FROM Student GROUP BY class;

ここでは、GROUP BY ステートメントがグループ化されています。クラスごとにレコードを作成し、AVG 関数を使用して各クラスの平均スコアを計算します。

4. HAVING クエリ

HAVING ステートメントは、特定の数の関数のフィルタリング条件を指定するために使用され、WHERE とは異なり、GROUP BY でグループ化された結果をフィルタリングします。たとえば、次のステートメントを使用して、平均スコアが 80 を超えるクラスをクエリできます:

SELECT class, AVG(score) FROM Student GROUP BY class HAVING AVG(score) > 80;

ここでは、HAVING ステートメントにより、平均スコアが 80 を超えるクラスが除外されます。

5. ORDER BY クエリ

ORDER BY ステートメントは、クエリ結果を並べ替えるために使用されます。たとえば、次のステートメントを使用してスコアの高い順に並べ替えることができます:

SELECT * FROM Student ORDER BY スコア DESC;

ここで、DESC は降順、ASC は昇順を意味します。

3. Oracle 数値クエリに関する注意事項

Oracle 数値クエリを実行する場合は、次の点に注意する必要があります:

1. 浮動小数点クエリを実行する場合は十分に注意してください。数値の精度が不安定なため。

2. 数値型の精度と位取りを指定する必要があります。指定しないと、最大のスペースを占有します。

3. GROUP BY 以降の関数フィルタリングでは、条件判定に HAVING ステートメントを使用する必要があります。

4. 結果の正確性を確保するために、必ず ORDER BY ステートメントを使用して結果を並べ替えてください。

概要

Oracle データベースは、整数、小数などのさまざまな数値タイプをサポートする非常に強力なリレーショナル データベース管理システムです。 Oracle 数値クエリは、Oracle データベースを使用するときの基本的な操作です。一般的なクエリ ステートメントには、SELECT、WHERE、GROUP BY、HAVING、ORDER BY などが含まれます。デジタル クエリを実行するときは、クエリ結果の精度を確保するために、精度、スケーリング、不安定な浮動小数点精度などの問題に注意する必要があります。

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

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