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:
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:
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:
2
3
4
5
6
7
8
8
9
10
10
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.