Hur man använder PostgreSQL Double Precision Type

Introduktion

När du behöver lagra numeriska värden med ett stort antal decimaler måste du se till att du använder rätt datatyp för uppgiften. PostgreSQL tillhandahåller datatypen DOUBLE PRECISION för den här typen av numeriska data – datatypen erbjuder 8 bytes lagringsutrymme och kan rymma upp till 15 decimalsiffror. I den här artikeln kommer vi att diskutera PostgreSQLs datatyp DOUBLE PRECISION och visa dig hur du använder den här datatypen i frågor och insättningsoperationer.

Förutsättningar

För att kunna följa med i exemplen i den här handledningen måste du ha PostgreSQL installerat och igång. Du kan använda kommandot psql -V i din terminal för att bekräfta att PostgreSQL är installerat och visa dess versionsnummer. Kontrollera att din installation av Postgres fungerar innan du fortsätter med DOUBLE PRECISIONfrågeexemplen senare i den här handledningen.

Öppna kommandoradskonsolen psql

Vi börjar med att öppna det interaktiva skalet för PostgreSQL. Vi använder kommandot som visas nedan:

1
sudo -u postgres psql

Detta kommando ger oss åtkomstprivilegier för postgres superanvändaren.

PostgreSQLs DOUBLE PRECISION-typ

PostgreSQLs DOUBLE PRECISION-typ är en numerisk datatyp; den är också känd under det alternativa namnet float8. Värden med dubbel precision behandlas som värden med flytande punkter i PostgreSQL. Detta innebär att en viss avrundning kommer att ske om du försöker lagra ett värde med ”för många” decimalsiffror; om du till exempel försökte lagra resultatet av 2/3 skulle det ske en viss avrundning när den 15:e siffran nåddes. I de flesta fall finns det inga egentliga konsekvenser av denna approximation, men det kan finnas omständigheter där absolut precision krävs och datatypen NUMERIC är det bättre valet.

DATA TYP BESKRIVNING RANG
dubbelt precisionsvärde, float, float8 decimalt värde, numeriska data med flytande punkter, heltalsvärden 15 decimalsiffror precision

Skapa en databas och en tabell i PostgreSQL

I det här avsnittet ska vi skapa en tabell a med en DOUBLE PRECISION-datatyp. Innan vi gör det måste vi skapa en databas i PostgreSQL. Vi använder kommandot som visas nedan:

1
CREATE DATABASE some_db;

NOTAT: Använd gärna ett valfritt databasnamn.

  • Använd kommandot \l för att visa en lista över alla databaser som finns i ditt PostgreSQL-databaskluster.

  • Använd kommandot \c för att ansluta till en specifik databas.

När du har skapat din databas kan du skapa en tabell i den.

Syntaxen för att skapa en tabell visas nedan:

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

Här är SQL-anvisningen som vi använder för att skapa vår tabell:

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

För att visa tabellinformationen är det bara att använda kommandot \d demo;. Utdata från kommandot kommer att se ut så här:

1
2
3
4
5
6
7
8
9
10
Tabell ”public.demo”
Kolumn | Typ | Collation | Nullable | Default
————-+————————+———–+———-+———————————-
id | heltal | | not null | nextval(’demo_id_seq’::regclass)
str_col | tecken varierande(100) | | | |
int_col | heltal | | inte noll |
boolean_col | boolean | | |
float_col | dubbel precision | | |
Index:
”demo_pkey” PRIMARY KEY, btree (id)

Insätt några värden i kolumnen DOUBLE PRECISION

Vi kan använda ett INSERT-uttalande för att sätta in data i vår DOUBLE PRECISION-kolumn samt i andra kolumner i tabellen:

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

För att se värdena i float_column använder du det enkla SELECT-kommando som visas nedan:

1
SELECT id, float_col FROM demo;

Utmatningen ser ut som följande:

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

Slutsats

Om du planerar att lagra numeriska värden som kräver en viss precision eller längd, kan datatypen DOUBLE PRECISION vara det rätta valet för dina behov. I den här artikeln gav vi en introduktion till PostgreSQL-typen DOUBLE PRECISION och gick igenom några exempel på hur man infogar och hämtar data av den här typen. Med dessa exempel som vägledning kommer du att vara förberedd på att använda DOUBLE PRECISION-datatypen i din egen PostgreSQL-databas.

Lämna ett svar

Din e-postadress kommer inte publiceras.