PostgreSQLの倍精度型の使用方法

はじめに

小数点以下の桁数が多い数値を格納する必要がある場合、その作業に適したデータ型を使用することを確認する必要があります。 PostgreSQLはこの種の数値データ用にDOUBLE PRECISIONデータ型を提供しています。 このデータ型は8バイトのストレージを提供し、最大15桁の小数点以下の数値を格納することができます。 この記事では、PostgreSQLのDOUBLE PRECISIONデータ型について説明し、このデータ型を問い合わせや挿入操作でどのように使用するかを紹介します。 ターミナルでpsql -Vコマンドを使用すると、PostgreSQLがインストールされていることを確認し、そのバージョン番号を表示することができます。 このチュートリアルの後のDOUBLE PRECISION問い合わせの例に進む前に、Postgresのインストールが機能していることを確認してください。

psqlコマンドラインコンソールを開く

まずPostgreSQLの対話型シェルを開くところから始めましょう。

1
sudo -u postgres psql

このコマンドによりpostgresスーパーユーザのアクセス権限が提供されています。

PostgreSQLのDOUBLE PRECISION型

PostgreSQLのDOUBLE PRECISION型は数値データ型で、float8という別名でも知られています。 倍精度値はPostgreSQLでは浮動小数点値として扱われます。 これは、小数点以下の桁数が “多すぎる “値を格納しようとすると、丸めが発生することを意味します。例えば、2/3の結果を格納しようとすると、15桁目に到達した時点で丸めが発生します。 ほとんどの場合、この近似値による本当の影響はありませんが、絶対的な精度が要求され、NUMERICデータ型がより良い選択である状況もあり得ます。

DATA TYPE DESCRIPTION RANGE
double precision, float, float8 12進、浮動小数点数データです。 整数値 10進15桁精度

PostgreSQLでデータベースとテーブルを作成する

このセクションでは、DOUBLE PRECISIONデータ型を持つテーブルaを作成する方法を説明します。 その前に、PostgreSQLでデータベースを作成する必要があります。

1
CREATE DATABASE some_db;

注:データベース名は自由に使っていただいて結構です。

  • PostgreSQLデータベース・クラスタに存在するすべてのデータベースのリストを表示するには、コマンド\lを使用します。

  • 特定のデータベースに接続するにはコマンド\cを使用します。

    テーブルを作成するための構文は以下のとおりです。

    1
    2
    3
    create table_name(
    col1 + data_type + constraint ,
    col2 + data_type + constraint ).テーブルの作成は、以下のように行います。

    以下は、テーブルを作成するために使用するSQLステートメントです。

    1
    2
    3
    4
    5
    6
    7
    CREATE TABLE demo(
    id SERIAL PRIMARY KEY.CERRY),
    str_col VARCHAR(100),
    int_col INT NOT NULL,
    boolean_col BOOL,
    float_col DOUBLE PRECISION
    ) を参照してください。

    テーブル情報を見るには、コマンド\d demo;を使用するだけです。 このコマンドの出力は次のようになります:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    表 “public.demo”
    Column | Type | Collation | Nullable | Default
    ————-+—————————+————————–
    id | integer | not null | nextval(‘demo_id_seq’::regclass)
    str_col | character varying(100) | | |
    int_col | integer | | not null |
    boolean_col | boolean | |
    float_col | double precision | |
    Indexes.index.index.index.index.index.index.index.index.index.となります。
    “demo_pkey” PRIMARY KEY, btree (id)

    DOUBLE PRECISION列の内部にいくつかの値を挿入

    INSERT 文を使って、テーブルの他の列と同様に DOUBLE PRECISION 列にデータを挿入することができます。

    1
    2
    3
    4
    INSERT INTO demo (str_col, int_col, boolean_col.B)

    3
    4
    1
    1
    2
    3
    3
    4
    VALUES(‘ObjectRocket’, 1234, TRUE, 09673143120),
    (‘Examples’, 6688, FALSE, 09057046055),
    (‘Tutorials’, 9678, TRUE, 09129158355);

    float_column内の値を見るには、以下に示す簡単なSELECTステートメントを使用します。

    1
    SELECT id, float_col FROM demo;

    出力は、下記のように表示されます。

    1
    2
    3
    4
    5
    id | float_col
    —-+—————
    1|9673143120
    2|9057046055
    3|9129158355

    結論

    ある精度や長さを要求する数値を格納しようと思っているならば。 DOUBLE PRECISIONデータ型は、あなたのニーズに合った選択かもしれません。 この記事では、PostgreSQLのDOUBLE PRECISION型の紹介と、この型のデータを挿入したり取得したりする方法の例をいくつか確認しました。 これらの例を参考にすれば、自分のPostgreSQLデータベースでDOUBLE PRECISIONデータ型を使用する準備ができるでしょう。

コメントを残す

メールアドレスが公開されることはありません。