Procentní funkce pro DB2

Software IBM pro správu databází IBM používá k vytváření a správě databázových struktur a aktualizaci informací v nich jazyk Structured Query Language neboli SQL. SQL je průmyslový standardní programovací jazyk, který zahrnuje matematické funkce pro provádění podrobných analýz na databázových datech. Pomocí SQL můžete snadno vypočítat procenta pro každý záznam databázové tabulky, pro skupiny záznamů a pro součty tabulek.

Příkaz SELECT

Produkt SQL SQL používá příkaz SELECT k vytváření zpráv z informací o databázi. Základní syntaxí příkazu je slovo SELECT následované seznamem polí, názvy tabulek a volitelnými klauzulemi jako WHERE a ORDER BY pro testování a třídění dat. Pole mohou pocházet přímo z tabulky nebo mohou být vypočítanými hodnotami na základě polí tabulky. Můžete například vypsat obsah tabulky objednávek, včetně kódu produktu, popisu, ceny a množství, a cenu můžete vynásobit množstvím, abyste získali součet.

Jednoduché dělení

Nejjednodušší forma procenta v příkazu DB2 SELECT vynásobí jedno pole 100 a poté se vydělí celkovým číslem, aby se získalo procento. Například následující SQL uvádí jméno zákazníka, objednávku, celkovou položku a procento z celkové částky za objednávku:

VYBRAT jméno, číslo_objednávky, celková_položka, celková_položka * 100 / celková_objednávka AS procento Z tabulky_objednávky;

Pokud vypočítáte procenta na základě celočíselných polí, vynásobením první položky číslem 100 zajistíte, že následné rozdělení vrátí smysluplné procento. Pokud místo toho vydělíte celé číslo větším číslem a výsledek vynásobíte 100, vrátí SQL nulu.

Desetinná funkce

Verze SQL produktu DB2 má matematickou funkci nazvanou DECIMAL. Při použití funkce procenta vám DECIMAL poskytuje kontrolu nad počtem desetinných míst výsledku. Následující příkaz SQL SELECT ilustruje použití DECIMAL při výpočtech procent:

SELECT name, order_number, DECIMAL (item_total, item_total * 100.0 / order_total, 5,2) AS procento, order_total FROM order_table;

Funkce DECIMAL má tři argumenty: počet nebo vypočítanou hodnotu, počet číslic pro přesnost a počet číslic za desetinnou čárkou. Zde je přesnost pět a počet číslic za desetinnou čárkou dva. Tento příkaz SELECT vytváří procento jako číslo, které má pět celých číslic a dvě desetinná místa, například 56,05 nebo 199,10.

Uživatelem definované funkce

U často používaných složitých výpočtů, jejichž výsledkem je procento, zvažte použití UDF nebo funkce definované uživatelem. DB2 ukládá UDF jako objekt, takže se stane součástí databáze spolu s poli, tabulkami a dalšími objekty. Příkaz CREATE FUNCTION, následovaný dalšími příkazy SQL, zapíše záznam funkce do databáze. Místo opakování složitých výpočtů ve svých příkazech SELECT můžete odkázat na funkci, což vám usnadní programování a spolehlivost.