Jak korzystać z typu danych PostgreSQL Podwójna precyzja

Wprowadzenie

Jeśli potrzebujesz przechowywać wartości liczbowe z dużą liczbą cyfr po przecinku, musisz mieć pewność, że używasz odpowiedniego typu danych. PostgreSQL udostępnia typ danych DOUBLE PRECISION dla tego typu danych liczbowych – typ danych oferuje 8 bajtów pamięci i może pomieścić do 15 cyfr po przecinku. W tym artykule omówimy typ danych PostgreSQL DOUBLE PRECISION oraz pokażemy, jak używać tego typu danych w zapytaniach i operacjach wstawiania.

Wymagania wstępne

Aby móc kontynuować pracę z przykładami zawartymi w tym tutorialu, musisz mieć zainstalowany i uruchomiony serwer PostgreSQL. Możesz użyć polecenia psql -V w terminalu, aby potwierdzić, że PostgreSQL jest zainstalowany i wyświetlić numer jego wersji. Upewnij się, że Twoja instalacja Postgres działa, zanim przejdziesz do DOUBLE PRECISIONprzykładów zapytań w dalszej części tego przewodnika.

Otwórz konsolę wiersza poleceń psql

Zacznijmy od otwarcia powłoki interaktywnej dla PostgreSQL. Skorzystamy z polecenia przedstawionego poniżej:

1
sudo -u postgres psql

To polecenie zapewnia nam uprawnienia dostępu postgres superużytkownika.

Typ PostgreSQL DOUBLE PRECISION

Typ PostgreSQL DOUBLE PRECISION jest numerycznym typem danych; znany jest również pod alternatywną nazwą float8. Wartości podwójnej precyzji traktowane są w PostgreSQL jak wartości zmiennoprzecinkowe. Oznacza to, że wystąpią pewne zaokrąglenia, jeśli spróbujesz zapisać wartość ze „zbyt” dużą liczbą cyfr dziesiętnych; na przykład, jeśli spróbujesz zapisać wynik 2/3, wystąpią pewne zaokrąglenia po osiągnięciu 15-tej cyfry. W większości przypadków nie ma prawdziwych konsekwencji tego przybliżenia, ale mogą zaistnieć okoliczności, w których wymagana jest absolutna precyzja, a typ danych NUMERIC jest lepszym wyborem.

TYP DANYCH OPIS ZAKRES
double precision, float, float8 decimal, floating-point numeric data, wartości całkowite 15 cyfr dziesiętnych precyzja

Tworzenie bazy danych i tabeli w PostgreSQL

W tym rozdziale utworzymy tabelę a z typem danych DOUBLE PRECISION. Zanim to zrobimy, musimy utworzyć bazę danych w PostgreSQL. Posłużymy się poleceniem przedstawionym poniżej:

1
CREATE DATABASE some_db;

UWAGA: Nie krępuj się użyć wybranej przez siebie nazwy bazy danych.

  • Użyj polecenia \l, aby wyświetlić listę wszystkich baz danych istniejących w klastrze baz danych PostgreSQL.

  • Użyj polecenia \c, aby połączyć się z określoną bazą danych.

Po utworzeniu bazy danych możesz utworzyć w niej tabelę.

Składnia tworzenia tabeli jest przedstawiona poniżej:

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

Oto instrukcja SQL, której użyjemy do utworzenia naszej tabeli:

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
);

Aby wyświetlić informacje o tabeli, wystarczy użyć polecenia \d demo;. Wynik tego polecenia będzie wyglądał następująco:

1
2
3
4
5
6
7
8
9
10
Tabela „public.demo”
Kolumna | Typ | 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:
„demo_pkey” PRIMARY KEY, btree (id)

Wstaw kilka wartości wewnątrz kolumny DOUBLE PRECISION

Możemy użyć instrukcji INSERTdo wstawienia danych do naszej DOUBLE PRECISIONkolumny, jak również do innych kolumn tabeli:

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);

Aby zobaczyć wartości w float_column, należy użyć prostej instrukcji SELECT pokazanej poniżej:

1
SELECT id, float_col FROM demo;

Wyjście będzie wyglądało jak poniżej:

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

Wniosek

Jeśli planujesz przechowywać wartości numeryczne, które wymagają określonej precyzji lub długości, typ danych DOUBLE PRECISION może być właściwym wyborem dla Twoich potrzeb. W tym artykule przedstawiliśmy wprowadzenie do typu PostgreSQL DOUBLE PRECISION oraz omówiliśmy kilka przykładów wstawiania i pobierania danych tego typu. Dzięki tym przykładom będziesz przygotowany do korzystania z typu danych DOUBLE PRECISION w swojej własnej bazie danych PostgreSQL.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.