Odstotne funkcije za DB2

IBM-ova programska oprema za upravljanje baz podatkov DB2 uporablja jezik strukturiranih poizvedb ali SQL za ustvarjanje in upravljanje struktur baz podatkov ter posodabljanje informacij v njih. SQL je industrijski standardni programski jezik, ki vključuje matematične funkcije za izvajanje podrobnih analiz podatkov podatkovnih zbirk. Z uporabo SQL lahko enostavno izračunate odstotke za vsak zapis tabele zbirke podatkov, za skupine zapisov in skupne vrednosti tabele.

Izjava SELECT

DB2-jev SQL uporablja stavek SELECT za ustvarjanje poročil iz informacij v zbirki podatkov. Osnovna sintaksa stavka je beseda SELECT, ki ji sledi seznam polj, imen tabel in neobveznih stavkov, kot sta WHERE in ORDER BY za testiranje in razvrščanje podatkov. Polja lahko prihajajo neposredno iz tabele ali pa so izračunane vrednosti na podlagi polj tabele. Lahko na primer navedete vsebino tabele naročil, vključno s kodo izdelka, opisom, ceno in količino, ceno pa lahko pomnožite s količino, da dobite vsoto.

Preprosta divizija

Najpreprostejša oblika odstotkov v stavku DB2 SELECT eno polje pomnoži s 100, nato pa deli s skupnim zneskom, da dobimo odstotek. Naslednji SQL na primer navaja ime stranke, naročilo, skupno postavko in odstotek skupnega zneska za naročilo:

IZBERI ime, naročilo_številka, skupno_število, skupno_število * 100 / skupno_število AS odstotek IZ tabela_naročila;

Če izračunate odstotke na podlagi celoštevilskih polj, pomnožite prvo postavko s 100 in zagotovite, da nadaljnja delitev vrne pomemben odstotek. Če namesto tega celo število delite z večjim, in rezultat pomnožite s 100, SQL vrne ničlo.

Decimalna funkcija

Različica SQL DB2 ima matematično funkcijo DECIMAL. Z uporabo funkcije odstotka vam DECIMAL omogoča nadzor nad številom decimalnih mest v rezultatu. Naslednja izjava SQL SELECT ponazarja uporabo funkcije DECIMAL pri izračunu odstotkov:

IZBERI ime, število_naročila, DECIMALNO (skupno_števek, skupno_število * 100.0 / skupno_številko, 5,2) AS odstotek, skupno_naročilo IZ tabele naročila;

Funkcija DECIMAL ima tri argumente: število ali izračunana vrednost, število števk za natančnost in število števk za decimalno številko. Tu je natančnost pet, število števk za decimalno številko pa dve. Ta stavek SELECT ustvari odstotek kot število s petimi števkami in dvema decimalnima mestoma, na primer 56,05 ali 199,10.

Uporabniško določene funkcije

Za pogosto uporabljene zapletene izračune, ki imajo za posledico odstotek, razmislite o uporabi UDF ali uporabniško določene funkcije. DB2 shrani UDF kot objekt, zato postane del baze podatkov skupaj s polji, tabelami in drugimi predmeti. Stavek CREATE FUNCTION, ki mu sledijo drugi stavki SQL, zapiše vnos funkcije v bazo podatkov. Namesto da ponavljate zapletene izračune v stavkih SELECT, se lahko sklicujete na funkcijo, s čimer boste poenostavili in zanesljiveje programirali.