Cum se utilizează tipul de precizie dublă PostgreSQL

Introducere

Când trebuie să stocați valori numerice cu un număr mare de cifre zecimale, trebuie să vă asigurați că utilizați tipul de date corect pentru această sarcină. PostgreSQL pune la dispoziție tipul de date DOUBLE PRECISION pentru acest tip de date numerice – tipul de date oferă 8 octeți de stocare și poate conține până la 15 cifre zecimale. În acest articol, vom discuta despre tipul de date PostgreSQL DOUBLE PRECISION și vă vom arăta cum să folosiți acest tip de date în interogări și operații de inserție.

Precondiții

Pentru a urmări exemplele din acest tutorial, va trebui să aveți PostgreSQL instalat și în funcțiune. Puteți utiliza comanda psql -V în terminalul dvs. pentru a confirma că PostgreSQL este instalat și pentru a afișa numărul versiunii sale. Asigurați-vă că instalarea Postgres funcționează înainte de a trece la exemplele de interogare DOUBLE PRECISION de mai târziu în acest tutorial.

Deschideți consola cu linie de comandă psql

Să începem prin a deschide shell-ul interactiv pentru PostgreSQL. Vom folosi comanda prezentată mai jos:

1
sudo -u postgres psql

Această comandă ne oferă privilegiile de acces ale postgres superutilizatorului.

Tipul PostgreSQL DOUBLE PRECISION

Tipul PostgreSQL DOUBLE PRECISION este un tip de date numerice; este cunoscut și sub denumirea alternativă float8. Valorile cu dublă precizie sunt tratate ca valori în virgulă mobilă în PostgreSQL. Acest lucru înseamnă că va avea loc o anumită rotunjire dacă încercați să stocați o valoare cu „prea multe” cifre zecimale; de exemplu, dacă ați încerca să stocați rezultatul de 2/3, va avea loc o anumită rotunjire atunci când se va ajunge la a 15-a cifră. În majoritatea cazurilor, nu există nicio consecință reală a acestei aproximări, dar pot exista circumstanțe în care este necesară o precizie absolută și tipul de date NUMERIC este o alegere mai bună.

DATA TYPE DESCRIPTION RANGE
double precision, float, float8 decimal, date numerice în virgulă mobilă, valori întregi 15 cifre zecimale precizie

Crearea unei baze de date și a unei tabele în PostgreSQL

În această secțiune, vom crea o tabelă a cu un tip de date DOUBLE PRECISION. Înainte de a face acest lucru, va trebui să creăm o bază de date în PostgreSQL. Vom folosi comanda prezentată mai jos:

1
CREATE DATABASE some_db;

NOTA: Simțiți-vă liberi să folosiți numele bazei de date pe care îl doriți.

  • Utilizați comanda \l pentru a afișa o listă a tuturor bazelor de date care există în clusterul de baze de date PostgreSQL.

  • Utilizați comanda \c pentru a vă conecta la o anumită bază de date.

După ce v-ați creat baza de date, puteți crea o tabelă în cadrul acesteia.

Sintaxa pentru crearea unui tabel este prezentată mai jos:

1
2
3
CREAȚI TABELUL NUME_TABEL(
COL1 + TIP_DATE + CONSTRÂNGERE ,
COL2 + TIP_DATE + CONSTRÂNGERE );

Iată instrucțiunea SQL pe care o vom folosi pentru a crea tabelul nostru:

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

Pentru a vizualiza informațiile din tabel, este suficient să folosiți comanda \d demo;. Rezultatul acestei comenzi va arăta astfel:

1
2
3
4
5
6
7
8
8
9
10
10
Tabelul „public.demo”
Columnă | Tip | 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)

Inserați câteva valori în coloana DOUBLE PRECISION

Potem folosi o instrucțiune INSERT pentru a introduce date în coloana noastră DOUBLE PRECISION, precum și în celelalte coloane ale tabelului:

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

Pentru a vedea valorile din float_column, utilizați instrucțiunea simplă SELECT prezentată mai jos:

1
SELECT id, float_col FROM demo;

Legătura de ieșire va arăta după cum urmează:

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

Concluzie

Dacă aveți de gând să stocați valori numerice care necesită o anumită precizie sau lungime, tipul de date DOUBLE PRECISION poate fi alegerea potrivită pentru nevoile dumneavoastră. În acest articol, am oferit o introducere în tipul PostgreSQL DOUBLE PRECISION și am analizat câteva exemple de introducere și recuperare a datelor de acest tip. Cu aceste exemple care să vă servească drept ghid, veți fi pregătit să utilizați tipul de date DOUBLE PRECISION în propria bază de date PostgreSQL.

Lasă un răspuns

Adresa ta de email nu va fi publicată.