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.