PostgreSQL monetære datatyper

PostgreSQL monetære datatyper

Den monetære datatypen brukes til å lagre valutadata i PostgreSQL -databasetabellen. De Pengedatatype PostgreSql brukes til å lagre valutadata med fast brøk presisjon. De IC_Monetary -innstillingen brukes til å bestemme brøk presisjon. Størrelsen på pengedatatypen er 8 byte, og området for denne datatypen er -92233720368547758.08 til +92233720368547758.07. Heltallet og flytende datatyper kan også brukes til å lagre valutaverdier i tabellen til PostgreSQL -databasen. Utgangen fra denne datatypen avhenger av lokalitetsverdien. Ulike måter å definere og bruke monetære datatyper i PostgreSQL -databasen er vist i denne opplæringen.

Forutsetninger:

Du må installere den nyeste versjonen av PostgreSQL -pakker på Linux -operativsystemet før du utfører SQL -uttalelsene som vises i denne opplæringen. Kjør følgende kommandoer for å installere og starte PostgreSQL:

$ sudo apt-get -y installer postgreSql postgreSql-contrib
$ sudo SystemCTL Start PostgreSql.service

Kjør følgende kommando for å logge inn på PostgreSQL med rottillatelse:

$ sudo -u postgres psql

Bruk av pengedatatype:

Før du oppretter noen tabell med den boolske datatypen, må du opprette en PostgreSQL -database. Så kjør følgende kommando for å opprette en database som heter 'Testdb':

# Opprett databasetestdb;

Følgende utdata vises etter å ha opprettet databasen:

Lag en tabell som heter 'PRODUKTER_1'I den nåværende databasen med tre felt. Det første feltnavnet er Id som er den primære nøkkelen til tabellen. Verdien av dette feltet vil bli økt automatisk når en ny post vil sette inn. Det andre feltnavnet er Navn Og datatypen er Varchar (30). Det tredje feltnavnet er pris og datatypen er PENGER.

# Lag tabellprodukter_1 (
ID Seriell primærnøkkel,
Navn varchar (30),
Pris penger);

Følgende utgang vises hvis tabellen opprettes vellykket:

Kjør følgende tre innsatsspørsmål som vil sette inn tre forskjellige verdier i feltet Pengedatatype:

# Sett inn i produkter_1 (navn, pris) verdier ('bag', 55);
# Sett inn i produkter_1 (navn, pris) verdier ('penn', 2.50);
# Sett inn i produkter_1 (navn, pris) verdier ('vannfarge', 15.895634);

Følgende utgang vises etter å ha utført spørsmålene ovenfor:

Kjør følgende velg spørring for å lese alle poster av PRODUKTER_1 bord:

# Velg * fra produkter_1;

Følgende utdata vises etter utførelsen av spørringen ovenfor. Utgangen viser standard valutasymbol innen pengedatatype.

Bruk av numerisk datatype:

Den numeriske datatypen er en annen datatype for å lagre valutaverdi i PostgreSQL -tabellen. Lag en tabell som heter 'PRODUKTER_2'I den nåværende databasen med tre felt. Det første feltnavnet er Id som er den primære nøkkelen til tabellen. Verdien av dette feltet vil bli økt automatisk når en ny post vil sette inn. Det andre feltnavnet er Navn Og datatypen er Varchar (30). Det tredje feltnavnet er pris og datatypen er Numerisk (5, 3).

# Opprett tabellprodukter_2 (
ID Seriell primærnøkkel,
Navn varchar (30),
Pris numerisk (5, 3));

Følgende utgang vises hvis tabellen opprettes vellykket:

Kjør følgende innleggsspørsmål som vil sette inn to poster i PRODUKTER_2 bord:

# Sett inn i produkter_2 (navn, pris) verdier ('blyant', 2.999);
# Sett inn i produkter_2 (navn, pris) verdier ('fargeblyant', 10.999999);

Følgende utgang vises etter å ha utført spørsmålene ovenfor:

Den numeriske datatypen genererer en feil hvis verdien overstiger presisjonsverdien til datatypen. Følgende innsats -spørring genererer en feil:

# Sett inn i produkter_2 (navn, pris) verdier ('skanner', 1000.999999);

Følgende utgang viser feilen generert av det numeriske feltet:

Ethvert valutasymbol kan legges til før verdien av det numeriske feltet i SELECT -spørringen. Så det er bedre å bruke den numeriske datatypen enn pengedatatypen for lagring av valutadata. Kjør følgende velger spørring som vil lese alle verdiene til PRODUKTER_2 bord ved å legge til '$' før prisen felt:

# Velg ID, navn, '$' || Pris som pris fra produkter_2;

Følgende utgang vises etter utførelse av spørringen ovenfor:

Bruk av float -datatype:

Float -datatypen er et annet alternativ for å lagre valutadata. Men flytdatatypen anbefales ikke for dette formålet fordi verdiene er lagret som en tilnærming i denne datatypen. Bruken av denne datatypen har blitt vist her for lagring av valutaverdi.

Lag et bord som heter 'Products_3' I den nåværende databasen med tre felt. Det første feltnavnet er Id som er den primære nøkkelen til tabellen. Verdien av dette feltet vil bli økt automatisk når en ny post vil sette inn. Det andre feltnavnet er Navn Og datatypen er Varchar (30). Det tredje feltnavnet er Pris Og datatypen er FLYTE.

# Opprett tabellprodukter_3 (
ID Seriell primærnøkkel,
Navn varchar (30),
Pris float);

Følgende utgang vises hvis tabellen opprettes vellykket:

Kjør følgende sett inn spørsmål som vil sette inn to verdier i feltet FLOAT -datatype:

# Sett inn i produkter_3 (navn, pris) verdier ('HP -skriver', 150.99);
# Sett inn Products_3 (Navn, Price) Verdier ('Samsung Printer', 180.4578);
# Sett inn Products_3 (Navn, Price) Verdier ('Dell Printer', 320.56);

Følgende utgang vises etter å ha utført spørsmålene ovenfor.

Kjør følgende velg spørring for å lese alle poster av PRODUKTER_3 bord:

# Velg ID, navn, '$' || Pris som pris fra produkter_3;

Følgende utgang vises etter utførelse av spørringen ovenfor:

Konklusjon:

Bruken av forskjellige datatyper for å lagre valutadata i PostgreSQL -tabellen er vist i denne opplæringen ved å bruke flere tabeller. Penger, numeriske og float -datatyper har blitt brukt til å lagre valutadata, og fordelene og ulempene med hver datatype er blitt forklart her.