PostgreSQL runde til 2 desimaler

PostgreSQL runde til 2 desimaler
Den runde () -funksjonen konverterer nummeret du oppga i desimal eller heltallform opp til det gitte heltall. Det kan ta en enkelt eller to argumenter avhengig av tilstanden du gir.

Syntaks

Runde (nummer [, n])

Se alle de viktigste runde funksjonene som kjører i PostgreSQL -skjemaet vises ved å bruke den vedlagte kommandoen.

>> \ df *runde *

Fra bildet kan vi se at skjemaavnet vises med navnefunksjonen, som hver har den resulterende datatypen og datatypen som skal sendes som et argument. Detaljene som vises her viser det nåværende skjemaet. Hvis du vil ha informasjonen om en annen, kan du bytte til den andre databasen.

Eksempel 1
Det første eksemplet er den enkle syntaksbaserte av en rund funksjon. Der vi må runde verdien opp til 2 desimaler. I det nåværende eksemplet, etter ".”, Vi har“ 34 ”som er mindre enn“ 5 ”, så delen av tallet før desimalpunktet vises bare fordi tallet har avrundet, og resultatet vil være tallet før".”.

>> Velg runde (12.34);

Du kan se fra resultatet at verdiene etter desimalpunktet er fjernet.

Eksempel 2
Dette eksemplet omhandler konseptrunden, i motsetning til det siste eksemplet. Her inneholder desimaldelen verdien lik "5". Antallet før desimalpunktet ”.”Økes med en hvis tallet til høyre er mer enn“ 5 ”. En lignende sak gjøres her.

>> Velg runde (12.5);

Eksempel 3
Til nå viste begge eksemplene resultatet ved å gi nummeret opp til et enkelt desimalt sted. Hvis du ikke oppgir noe nummer, vurderer systemet som standard det 1. Og hvis du er interessert i.

>> Velg runde (12.924, 2);

Vi har gitt “2” i spørringen. For dette formålet må vi legge inn verdien for 3 desimaler. Jeg.e., “12.924 ”slik at den kan hoppe til 2 desimaler. Som det fremste tallet etter ".”Er 9 (større enn“ 5 ”) det vil forbli den samme. Fordi for "runde til 2 desimaler" må vi vurdere den tredje verdien som innebærer den andre. For eksempel er verdien i dette eksemplet “4”, så verdien på den andre posisjonen vil forbli den samme, og den tredje verdien fjernes.

Eksempel 4
Tilsvarende, når det tredje tallet er lik eller større enn 5, påvirker det den andre verdien slik at den andre verdien blir avrundet, og den første verdien etter desimalpunktet "." forblir det samme. Som på bildet som er festet her, “.925 ”blir“.93 ”på grunn av bruk av“ 5 ”i eksemplet.

>> Velg runde (12.925, 2);

Eksempel 5
Ikke bare enkeltverdiene brukes i rundfunksjonen. Men vi kan også bruke verdiene i form av en tabell for å bruke runden () på verdiene samlet på en kolonne eller alle kolonnene ved å bruke en enkelt kommando.

Opprett en tabelllærer ved å bruke “Opprett” -kommandoen og legge til verdier ved å ha spørringen “Sett inn”. For å vise dataene i tabellen ved hjelp av SELECT -kommandoen.

>> Velg * fra lærer;

Vi bruker kommandoen for å bruke runden () -funksjonen på en enkelt kolonne, "Lønn". I denne tabellen brukes ikke den runde funksjonen direkte på verdiene. Fordi lønn ikke er gitt i desimalform. Så for å lage det i desimalform, har vi delt verdien med et desimaltall. Den resulterende verdien vil bli brukt som inngang for gjennomsnittsfunksjonen, og deretter bruker vi runden () på den.

Her brukes "Group by" -bestemmelse på de kolonnene valgt i "Select" -uttalelsen og vil bli vist som et resultat. Den runde funksjonen tar verdien og konverterer den til 2 desimaler. 3Rd Kolonne som er opprettet for å ha den resulterende verdien i kolonnen, heter “Divided_val”.

>> Velg ID, lønn, runde (AVG (lønn / 2.3), 2) Divided_val fra lærergruppe etter ID, lønnsordre av Divided_Val Desc;

Den resulterende verdien vil bli ordnet i synkende rekkefølge. Alle de to kolonnene vil bli arrangert i henholdsvis synkende rekkefølge for den nye kolonnen.

Bildet ovenfor viser den resulterende kolonnen. Du kan se at alle verdiene er i desimalform og opptil to desimaler.

Eksempel 6
En annen spørring brukes på samme tabell. Gjennom denne kommandoen vil vi få et enkelt nummer.

>> med SAL (ID, lønn) som (velg id, count (lønn) fra lærergruppe etter id) velg runde (AVG (lønn)) fra lærer;

Den runde funksjonen vil konvertere resultatet til et heltall fordi vi ikke har gitt noe tall for å konvertere til desimalstedene. Dessuten har vi brukt "with-as" -bestemmelsen for å velge kolonner for å bruke funksjonen. I “Select” -kommandoen brukes tellefunksjonen til å telle lærernes lønn. Etter det vil den runde funksjonen beregne gjennomsnittet fra lønnskolonnen, og deretter konvertering blir gjort.

Den manuelle beregningen viser at det gjennomsnittlige svaret på kolonnenes verdier er “51.125 ”. Som vi har diskutert i vårt første eksempel når det ikke blir lagt til noe nummer for å vise desimalstedet. Det regnes som "1" som standard, så verdien er også under 5. Slik fikk vi en heltallverdi.

Eksempel 7
I dette eksemplet har vi laget en funksjon (casting -strategi), akkurat som ethvert programmeringsspråk, som kan akseptere verdiene som parametere. Spørringen vises i det vedlagte bildet.

Det vil returnere en numerisk verdi. Som andre funksjoner vil vi ringe en funksjon og gi verdien gjennom den.

>> Velg runde (34/67., 7);

Som du kan se at vi har brukt "7" -nummeret til desimalet, så får vi 7 sifre etter desimalpunktet. Men hvis vi konverterer den i rundformen igjen, vil vi få et heltall/ numerisk type “1”.

Hvis vi bruker "2" desimalsted, vil svaret være igjen "1".

Eksempel 8
Dette eksemplet forklarer forskjellen mellom trunc () annonse runden () -funksjonen. Runde () -funksjonen øker tallet med 1, mens trunc () ganske enkelt avkortet tallet til null. For eksempel har vi to samme verdier. Og nå vil vi bruke begge funksjonene på dem. Du vil se forskjellen

>> Velg runde (6.499, 2), trunc (6.499, 2);

Konklusjon

“PostgreSql runde til 2 desimaler” brukes til å konvertere verdien til 2 desimalpunkter enten i heltall eller i flyteverdi. Grunnleggende terminologier, rundfunksjon på tabellen og støpestrategi brukes til å forklare denne funksjonen fungerer i detalj. Jeg håper at min innsats vil hjelpe deg å få kunnskap om emnet.