PostgreSQL:n Double Precision -tyypin käyttäminen

Esittely

Kun sinun on tallennettava numeerisia arvoja, joissa on suuri määrä desimaalilukuja, sinun on varmistettava, että käytät tehtävää varten oikeaa tietotyyppiä. PostgreSQL tarjoaa DOUBLE PRECISION-tietotyyppiä tämäntyyppisiä numeerisia tietoja varten – tietotyyppi tarjoaa 8 tavua tallennustilaa ja siihen mahtuu jopa 15 desimaalilukua. Tässä artikkelissa käsittelemme PostgreSQL DOUBLE PRECISION -tietotyyppiä ja näytämme, miten tätä tietotyyppiä käytetään kyselyissä ja lisäysoperaatioissa.

Edellytykset

Voidaksesi seurata tämän opetusohjelman esimerkkejä, sinun on asennettava ja käytettävä PostgreSQL:ää. Voit käyttää komentoa psql -V terminaalissa vahvistaaksesi, että PostgreSQL on asennettu ja näyttää sen versionumeron. Varmista, että Postgreesin asennus toimii, ennen kuin jatkat DOUBLE PRECISION kyselyesimerkkejä myöhemmin tässä oppaassa.

Avaa psql-komentorivikonsoli

Aloitetaan avaamalla vuorovaikutteinen komentorivi PostgreSQL:lle. Käytämme alla olevaa komentoa:

1
sudo -u postgres psql

Komennon avulla saamme postgres superkäyttäjän käyttöoikeudet.

PostgreSQL DOUBLE PRECISION -tyyppi

PostgreSQL DOUBLE PRECISION -tyyppi on numeerinen tietotyyppi; se tunnetaan myös vaihtoehtoisella nimellä float8. Kaksoistarkkuusarvoja käsitellään PostgreSQL:ssä kuten liukulukuarvoja. Tämä tarkoittaa, että tapahtuu jonkin verran pyöristämistä, jos yrität tallentaa arvon, jossa on ”liian monta” desimaalilukua; jos esimerkiksi yrität tallentaa tuloksen 2/3, tapahtuu jonkin verran pyöristämistä, kun saavutetaan 15. numero. Useimmissa tapauksissa tästä approksimaatiosta ei ole todellista seurausta, mutta voi olla tilanteita, joissa tarvitaan absoluuttista tarkkuutta ja NUMERIC-tietotyyppi on parempi valinta.

TIETOTYYPPI KUVAUS RANGE
kaksoistarkkuus, float, float8 desimaaliluku, liukulukutarkkuus, liukulukulukutason numeerinen data, kokonaislukuarvot 15 desimaalin tarkkuus

Tietokannan ja taulukon luominen PostgreSQL:ssä

Tässä osassa luodaan taulukko a, jonka tietotyyppi on DOUBLE PRECISION. Ennen sitä meidän on luotava tietokanta PostgreSQL:ssä. Käytämme alla olevaa komentoa:

1
CREATE DATABASE some_db;

Huomautus: Voit vapaasti käyttää haluamaasi tietokannan nimeä.

  • Komennolla \l saat näkyviin luettelon kaikista PostgreSQL-tietokantaklusterissasi olevista tietokannoista.

  • Komennolla \c voit muodostaa yhteyden tiettyyn tietokantaan.

Kun olet luonut tietokantasi, voit luoda siihen taulukon.

Taulukon luomisen syntaksi on esitetty alla:

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

Tässä on SQL-lause, jolla luomme taulumme:

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

Käyttääksesi taulukon tietoja, käytä vain komentoa \d demo;. Tämän komennon tuloste näyttää tältä:

1
2
3
4
4
5
6
6
7
8
8
9
10
Taulukko ”public.demo”
Sarake | Tyyppi | 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)

Sisällytä joitakin arvoja DOUBLE PRECISION-sarakkeeseen

Voimme käyttää INSERT-lauseketta lisätäksemme tietoja DOUBLE PRECISION-sarakkeeseemme sekä taulukon muihin sarakkeisiin:

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

Voidaksesi nähdä float_column:n arvot, käytä alla esitettyä yksinkertaista SELECT-lausetta:

1
SELECT id, float_col FROM demo;

Tuloste näyttää seuraavalta:

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

Johtopäätös

Jos suunnittelet tallentavasi numeerisia arvoja, jotka vaativat tiettyä tarkkuutta tai pituutta, DOUBLE PRECISION-tietotyyppi voi olla oikea valinta tarpeisiisi. Tässä artikkelissa esittelimme PostgreSQL DOUBLE PRECISION -tyyppiä ja kävimme läpi joitakin esimerkkejä tämän tyypin tietojen lisäämisestä ja hakemisesta. Näiden esimerkkien avulla olet valmis käyttämään DOUBLE PRECISION-tietotyyppiä omassa PostgreSQL-tietokannassasi.

Vastaa

Sähköpostiosoitettasi ei julkaista.