How to Use the PostgreSQL Double Precision Type

Introduction

Wenn Sie numerische Werte mit einer großen Anzahl von Dezimalstellen speichern müssen, müssen Sie sicherstellen, dass Sie den richtigen Datentyp für diese Aufgabe verwenden. PostgreSQL bietet den Datentyp DOUBLE PRECISION für diese Art von numerischen Daten – der Datentyp bietet 8 Bytes Speicherplatz und kann bis zu 15 Dezimalstellen speichern. In diesem Artikel werden wir den PostgreSQL-DOUBLE PRECISION-Datentyp besprechen und Ihnen zeigen, wie Sie diesen Datentyp in Abfragen und Einfügeoperationen verwenden können.

Voraussetzungen

Um den Beispielen in diesem Tutorial folgen zu können, müssen Sie PostgreSQL installiert haben und ausführen. Sie können den Befehl psql -V in Ihrem Terminal verwenden, um zu bestätigen, dass PostgreSQL installiert ist und seine Versionsnummer anzuzeigen. Vergewissern Sie sich, dass Ihre PostgreSQL-Installation funktioniert, bevor Sie mit den DOUBLE PRECISION Abfragebeispielen weiter unten in diesem Tutorial fortfahren.

Öffnen Sie die psql-Kommandozeilenkonsole

Zunächst öffnen wir die interaktive Shell für PostgreSQL. Wir verwenden den folgenden Befehl:

1
sudo -u postgres psql

Dieser Befehl gibt uns die Zugriffsrechte des Superusers postgres.

Der PostgreSQL-Typ DOUBLE PRECISION

Der PostgreSQL-Typ DOUBLE PRECISION ist ein numerischer Datentyp; er ist auch unter dem alternativen Namen float8 bekannt. Werte mit doppelter Genauigkeit werden in PostgreSQL wie Fließkommawerte behandelt. Das bedeutet, dass eine gewisse Rundung erfolgt, wenn Sie versuchen, einen Wert mit „zu vielen“ Dezimalstellen zu speichern; wenn Sie zum Beispiel versuchen, das Ergebnis von 2/3 zu speichern, würde eine gewisse Rundung erfolgen, wenn die 15. In den meisten Fällen hat diese Annäherung keine wirkliche Auswirkung, aber es kann Umstände geben, in denen absolute Präzision erforderlich ist und der Datentyp NUMERIC die bessere Wahl ist.

DATENTYP BESCHREIBUNG Bereich
Doppelpräzision, Float, Float8 Dezimal, numerische Fließkomma-Daten, Integer-Werte 15 Dezimalstellen Genauigkeit

Erstellen einer Datenbank und Tabelle in PostgreSQL

In diesem Abschnitt erstellen wir eine Tabelle a mit einem DOUBLE PRECISIONDatentyp. Zuvor müssen wir eine Datenbank in PostgreSQL erstellen. Dazu verwenden wir den folgenden Befehl:

1
CREATE DATABASE some_db;

Hinweis: Sie können den Namen der Datenbank nach Belieben ändern.

  • Verwenden Sie den Befehl \l, um eine Liste aller Datenbanken anzuzeigen, die in Ihrem PostgreSQL-Datenbankcluster vorhanden sind.

  • Verwenden Sie den Befehl \c, um eine Verbindung zu einer bestimmten Datenbank herzustellen.

Nachdem Sie Ihre Datenbank erstellt haben, können Sie eine Tabelle darin erstellen.

Die Syntax für die Erstellung einer Tabelle ist im Folgenden dargestellt:

1
2
3
CREATE TABLE TABLE_NAME(
COL1 + DATA_TYPE + CONSTRAINT ,
COL2 + DATA_TYPE + CONSTRAINT );

Hier ist die SQL-Anweisung, mit der wir unsere Tabelle erstellen werden:

1
2
3
4
5
6
7
CREATE TABLE demo(
id SERIAL PRIMARY KEY,
str_col VARCHAR(100),
int_col INT NOT NULL,
boolean_col BOOL,
float_col DOUBLE PRECISION
);

Um die Tabelleninformationen anzuzeigen, verwenden Sie einfach den Befehl \d demo;. Die Ausgabe dieses Befehls sieht wie folgt aus:

1
2
3
4
5
6
7
8
9
10
Tabelle „public.demo“
Spalte | Typ | Sortierung | 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 | | |
Indexe:
„demo_pkey“ PRIMARY KEY, btree (id)

Einige Werte in die Spalte DOUBLE PRECISION einfügen

Wir können eine INSERTAnweisung verwenden, um Daten in unsere DOUBLE PRECISIONSpalte sowie in die anderen Spalten der Tabelle einzufügen:

1
2
3
4
INSERT INTO demo (str_col, int_col, boolean_col, float_col)
VALUES(‚ObjectRocket‘, 1234, TRUE, 09673143120),
(‚Examples‘, 6688, FALSE, 09057046055),
(‚Tutorials‘, 9678, TRUE, 09129158355);

Um die Werte im float_column zu sehen, verwenden Sie die einfache SELECT-Anweisung wie unten gezeigt:

1
SELECT id, float_col FROM demo;

Die Ausgabe wird wie folgt aussehen:

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

Fazit

Wenn Sie vorhaben, numerische Werte zu speichern, die eine bestimmte Genauigkeit oder Länge erfordern, kann der Datentyp DOUBLE PRECISION die richtige Wahl für Ihre Bedürfnisse sein. In diesem Artikel haben wir eine Einführung in den PostgreSQL-DOUBLE PRECISION-Typ gegeben und einige Beispiele für das Einfügen und Abrufen von Daten dieses Typs besprochen. Mit diesen Beispielen als Leitfaden können Sie den DOUBLE PRECISION-Datentyp in Ihrer eigenen PostgreSQL-Datenbank verwenden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.