Procentfunktioner til DB2

IBMs DB2-databasestyringssoftware bruger Structured Query Language eller SQL til at oprette og administrere databasestrukturer og opdatere oplysningerne i dem. SQL er et industristandard programmeringssprog, der inkluderer matematiske funktioner til udførelse af detaljerede analyser af databasedata. Ved hjælp af SQL kan du nemt beregne procenter for hver post i en databasetabel, for grupper af poster og for totaler af tabeller.

VÆLG erklæring

DB2's SQL bruger SELECT-sætningen til at oprette rapporter fra databaseoplysninger. Den grundlæggende syntaks for udsagnet er ordet VÆLG efterfulgt af en liste med felter, tabelnavne og valgfrie klausuler som WHERE og ORDER BY til test og sortering af data. Felterne kan komme direkte fra en tabel, eller de kan beregnes som værdier baseret på tabelfelter. Du kan for eksempel liste indholdet af en ordretabel, inklusive en produktkode, beskrivelse, pris og mængde, og du kan gange prisen med mængden for at få det samlede beløb.

Enkel opdeling

Den enkleste form for procent i en DB2 SELECT-sætning multiplicerer et felt med 100 og divideres derefter med et total for at opnå procentdelen. For eksempel viser følgende SQL et kundenavn, ordre, varetotal og procentdel af ordren i alt:

VÆLG navn, ordrenummer, varetotal, varetotal * 100 / ordretotal AS procent FRA ordretabel;

Hvis du beregner procentdele baseret på heltalsfelter, multiplicerer det første element med 100, at en efterfølgende division returnerer en meningsfuld procentdel. Hvis du i stedet deler et heltal med et større heltal og ganger resultatet med 100, returnerer SQL et nul.

Decimal funktion

DB2's version af SQL har en matematisk funktion kaldet DECIMAL. Ved hjælp af den med en procentfunktion giver DECIMAL dig kontrol over antallet af decimaler i resultatet. Følgende SQL SELECT-sætning illustrerer brugen af ​​DECIMAL i procentberegninger:

VÆLG navn, ordrenummer, DECIMAL (item_total, item_total * 100.0 / order_total, 5,2) AS percentage, order_total FROM order_table;

DECIMAL-funktionen har tre argumenter: antallet eller den beregnede værdi, antallet af cifre for præcision og antallet af cifre efter decimalet. Her er præcisionen fem, og antallet af cifre efter decimal er to. Denne SELECT-sætning producerer en procentdel som et tal med fem cifre i alt og to decimaler, såsom 56.05 eller 199.10.

Brugerdefinerede funktioner

For ofte anvendte, komplekse beregninger, der resulterer i en procentdel, skal du overveje at bruge en UDF eller brugerdefineret funktion. DB2 gemmer en UDF som et objekt, så det bliver en del af databasen sammen med felter, tabeller og andre objekter. CREATE FUNCTION-sætningen efterfulgt af andre SQL-sætninger skriver en funktionsindgang i databasen. I stedet for at gentage de komplekse beregninger i dine SELECT-udsagn kan du henvise til funktionen, hvilket gør din programmering enklere og mere pålidelig.