はじめに
小数点以下の桁数が多い数値を格納する必要がある場合、その作業に適したデータ型を使用することを確認する必要があります。 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
3create table_name(
col1 + data_type + constraint ,
col2 + data_type + constraint ).テーブルの作成は、以下のように行います。以下は、テーブルを作成するために使用するSQLステートメントです。
1
2
3
4
5
6
7CREATE 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
4INSERT 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
ステートメントを使用します。1SELECT id, float_col FROM demo;出力は、下記のように表示されます。
1
2
3
4
5id | float_col
—-+—————
1|9673143120
2|9057046055
3|9129158355結論
ある精度や長さを要求する数値を格納しようと思っているならば。
DOUBLE PRECISION
データ型は、あなたのニーズに合った選択かもしれません。 この記事では、PostgreSQLのDOUBLE PRECISION型の紹介と、この型のデータを挿入したり取得したりする方法の例をいくつか確認しました。 これらの例を参考にすれば、自分のPostgreSQLデータベースでDOUBLE PRECISION
データ型を使用する準備ができるでしょう。