Come usare il tipo PostgreSQL a doppia precisione

Introduzione

Quando avete bisogno di memorizzare valori numerici con un gran numero di cifre decimali, dovete assicurarvi di utilizzare il tipo di dati corretto per questo compito. PostgreSQL fornisce il tipo di dati DOUBLE PRECISION per questo tipo di dati numerici – il tipo di dati offre 8 byte di memoria e può contenere fino a 15 cifre decimali. In questo articolo, discuteremo il tipo di dati DOUBLE PRECISION di PostgreSQL e ti mostreremo come usare questo tipo di dati nelle query e nelle operazioni di inserimento.

Prequisiti

Per poter seguire gli esempi di questo tutorial, dovrai avere PostgreSQL installato e funzionante. Puoi usare il comando psql -V nel tuo terminale per confermare che PostgreSQL è installato e visualizzare il suo numero di versione. Assicurati che la tua installazione di Postgres funzioni prima di procedere agli esempi di query DOUBLE PRECISIONpiù avanti in questo tutorial.

Apri la console a riga di comando psql

Iniziamo aprendo la shell interattiva di PostgreSQL. Useremo il comando mostrato qui sotto:

1
sudo -u postgres psql

Questo comando ci fornisce i privilegi di accesso del postgres superuser.

Il tipo PostgreSQL DOUBLE PRECISION

Il tipo PostgreSQL DOUBLE PRECISION è un tipo di dati numerici; è anche conosciuto con il nome alternativo float8. I valori a doppia precisione sono trattati come valori in virgola mobile in PostgreSQL. Questo significa che si verifica un certo arrotondamento se si cerca di memorizzare un valore con “troppe” cifre decimali; per esempio, se si cerca di memorizzare il risultato di 2/3, ci sarà un certo arrotondamento quando si raggiunge la quindicesima cifra. Nella maggior parte dei casi, non c’è una reale conseguenza di questa approssimazione, ma ci possono essere circostanze in cui è richiesta una precisione assoluta e il tipo di dati NUMERIC è la scelta migliore.

TIPO DI DATI DESCRIZIONE RANGE
doppia precisione, float, float8 decimale, dati numerici in virgola mobile, valori interi 15 cifre decimali di precisione

Creare un database e una tabella in PostgreSQL

In questa sezione, creeremo una tabella a con un tipo di dati DOUBLE PRECISION. Prima di farlo, abbiamo bisogno di creare un database in PostgreSQL. Useremo il comando mostrato qui sotto:

1
CREATE DATABASE some_db;

NOTA: Sentitevi liberi di usare il nome del database che preferite.

  • Utilizza il comando \l per visualizzare una lista di tutti i database che esistono nel tuo cluster di database PostgreSQL.

  • Utilizza il comando \c per connetterti a uno specifico database.

Una volta creato il tuo database, puoi creare una tabella al suo interno.

La sintassi per creare una tabella è mostrata qui sotto:

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

Ecco lo statement SQL che useremo per creare la nostra tabella:

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

Per visualizzare le informazioni della tabella, basta usare il comando \d demo;. L’output di questo comando sarà come questo:

1
2
3
4
5
6
7
8
9
10
Tabella “public.demo”
Colonna | Tipo | Collation | Nullable | Default
————-+————————+———–+———-+———————————-
id | integer | | non null | nextval(‘demo_id_seq’::regclass)
str_col | carattere variabile(100) | |
int_col | intero | | non nullo |
boolean_col | booleano | |
float_col | doppia precisione | | |
Index:
“demo_pkey” PRIMARY KEY, btree (id)

Inserire alcuni valori all’interno della colonna DOUBLE PRECISION

Possiamo usare un’istruzione INSERT per inserire dati nella nostra colonna DOUBLE PRECISION e nelle altre colonne della tabella:

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

Per vedere i valori nel float_column, usa la semplice dichiarazione SELECT mostrata qui sotto:

1
SELECT id, float_col FROM demo;

L’output sarà come il seguente:

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

Conclusione

Se avete intenzione di memorizzare valori numerici che richiedono una certa precisione o lunghezza, il tipo di dati DOUBLE PRECISION può essere la scelta giusta per le vostre esigenze. In questo articolo, abbiamo fornito un’introduzione al tipo DOUBLE PRECISION di PostgreSQL e rivisto alcuni esempi di come inserire e recuperare dati di questo tipo. Con questi esempi come guida, sarete preparati ad usare il tipo di dati DOUBLE PRECISION nel vostro database PostgreSQL.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.