A PostgreSQL Double Precision típusának használata

Bevezetés

Ha nagyszámú tizedesjegyet tartalmazó numerikus értékeket kell tárolnia, gondoskodnia kell arról, hogy a feladathoz a megfelelő adattípust használja. A PostgreSQL az ilyen típusú numerikus adatokhoz a DOUBLE PRECISION adattípust biztosítja – az adattípus 8 bájtnyi tárhelyet kínál, és legfeljebb 15 tizedesjegy tárolására alkalmas. Ebben a cikkben a PostgreSQL DOUBLE PRECISION adattípust tárgyaljuk, és megmutatjuk, hogyan használhatjuk ezt az adattípust lekérdezésekben és beszúrási műveletekben.

Előfeltételek

Hogy követni tudjuk a bemutató példáit, a PostgreSQL-t telepíteni és futtatni kell. A terminálban a psql -V paranccsal megerősítheti, hogy a PostgreSQL telepítve van, és megjelenítheti a verziószámát. Győződjön meg róla, hogy a Postgrees telepítése működik, mielőtt a DOUBLE PRECISION lekérdezési példákkal folytatná a bemutató későbbi részében.

A psql parancssori konzol megnyitása

Kezdjük a PostgreSQL interaktív héjának megnyitásával. Az alábbi parancsot fogjuk használni:

1
sudo -u postgres psql

Ez a parancs a postgres superuser hozzáférési jogosultságait biztosítja számunkra.

A PostgreSQL DOUBLE PRECISION típusa

A PostgreSQL DOUBLE PRECISION típusa egy numerikus adattípus; alternatív nevén float8 is ismert. A kettős pontosságú értékeket a PostgreSQL lebegőpontos értékként kezeli. Ez azt jelenti, hogy némi kerekítésre kerül sor, ha “túl sok” tizedesjegyű értéket próbál tárolni; ha például 2/3-os eredményt próbálna tárolni, akkor a 15. számjegy elérésekor némi kerekítésre kerülne sor. A legtöbb esetben ennek a közelítésnek nincs igazi következménye, de lehetnek olyan körülmények, amikor abszolút pontosságra van szükség, és a NUMERIC adattípus a jobb választás.

ADATTYP DESCRIPTION RANGE
dupla pontosságú, float, float8 decimal, lebegőpontos numerikus adatok, egész számok 15 tizedesjegy pontosság

Adatbázis és tábla létrehozása a PostgreSQL-ben

Ebben a részben létrehozunk egy a táblát DOUBLE PRECISION adattípussal. Mielőtt ezt megtennénk, létre kell hoznunk egy adatbázist a PostgreSQL-ben. Az alábbi parancsot fogjuk használni:

1
CREATE DATABASE some_db;

MEGJEGYZÉS: Használjuk nyugodtan az általunk választott adatbázis nevét.

  • A \l paranccsal megjelenítheti a PostgreSQL adatbázis-fürtben létező összes adatbázis listáját.

  • A \c paranccsal csatlakozhat egy adott adatbázishoz.

Amikor létrehozta az adatbázisát, létrehozhat benne egy táblát.

A táblázat létrehozásának szintaxisa az alábbiakban látható:

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

Itt van az SQL utasítás, amellyel létrehozzuk a táblázatunkat:

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

A tábla információinak megtekintéséhez elég a \d demo; parancsot használni. A parancs kimenete így fog kinézni:

1
2
3
4
5
6
7
8
9
10
A “public.demo”
Column | Type | Collation | Nullable | Default
————-+————————+———–+———-+———————————-
id | integer | | | not null | nextval(‘demo_id_seq’:| | |
str_col | változó karakter(100) | | | |
int_col | integer | | | not null |
boolean_col | boolean | | | |
float_col | double precision | | | |
Indexek:
“demo_pkey” PRIMARY KEY, btree (id)

Beszúrunk néhány értéket a DOUBLE PRECISION oszlopba

Egy INSERT utasítással tudunk adatokat beszúrni a DOUBLE PRECISION oszlopunkba, valamint a táblázat többi oszlopába:

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

Az float_column-ben lévő értékek megtekintéséhez használjuk az alább látható egyszerű SELECT utasítást:

1
SELECT id, float_col FROM demo;

A kimenet a következőképpen fog kinézni:

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

Következtetés

Ha olyan numerikus értékek tárolását tervezzük, amelyek bizonyos pontosságot vagy hosszúságot igényelnek, a DOUBLE PRECISION adattípus lehet a megfelelő választás. Ebben a cikkben bemutattuk a PostgreSQL DOUBLE PRECISION típust, és áttekintettünk néhány példát az ilyen típusú adatok beszúrására és lekérdezésére. Ezeknek a példáknak a segítségével felkészülhet a DOUBLE PRECISION adattípus használatára a saját PostgreSQL adatbázisában.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.