Die DB2-Datenbankverwaltungssoftware von IBM verwendet die Structured Query Language (SQL), um Datenbankstrukturen zu erstellen und zu verwalten und die darin enthaltenen Informationen zu aktualisieren. SQL ist eine Programmiersprache nach Industriestandard, die mathematische Funktionen zur Durchführung detaillierter Analysen von Datenbankdaten enthält. Mit SQL können Sie leicht Prozentsätze für jeden Datensatz einer Datenbanktabelle, für Datensatzgruppen und für Tabellensummen berechnen.
SELECT-Anweisung
SQL von DB2 verwendet die SELECT-Anweisung, um Berichte aus Datenbankinformationen zu erstellen. Die grundlegende Syntax der Anweisung ist das Wort SELECT gefolgt von einer Liste von Feldern, Tabellennamen und optionalen Klauseln wie WHERE und ORDER BY zum Testen und Sortieren von Daten. Die Felder können direkt aus einer Tabelle stammen oder auf Basis von Tabellenfeldern berechnete Werte sein. Sie können beispielsweise den Inhalt einer Bestelltabelle auflisten, einschließlich Produktcode, Beschreibung, Preis und Menge, und Sie können den Preis mit der Menge multiplizieren, um die Gesamtsumme zu erhalten.
Einfache Aufteilung
Bei der einfachsten Form des Prozentsatzes in einer DB2 SELECT-Anweisung wird ein Feld mit 100 multipliziert und dann durch eine Summe dividiert, um den Prozentsatz zu erhalten. Die folgende SQL listet beispielsweise einen Kundennamen, eine Bestellung, eine Artikelsumme und einen Prozentsatz der Gesamtsumme für die Bestellung auf:
SELECT name, order_number, item_total, item_total * 100 / order_total AS-Prozentsatz FROM order_table;
Wenn Sie Prozentsätze basierend auf ganzzahligen Feldern berechnen, stellt die Multiplikation des ersten Elements mit 100 sicher, dass eine nachfolgende Division einen aussagekräftigen Prozentsatz zurückgibt. Wenn Sie stattdessen eine ganze Zahl durch eine größere ganze Zahl dividieren und das Ergebnis mit 100 multiplizieren, gibt SQL eine Null zurück.
Dezimalfunktion
Die SQL-Version von DB2 hat eine mathematische Funktion namens DECIMAL. In Verbindung mit einer Prozentfunktion gibt Ihnen DECIMAL die Kontrolle über die Anzahl der Dezimalstellen des Ergebnisses. Die folgende SQL-SELECT-Anweisung veranschaulicht die Verwendung von DECIMAL in Prozentberechnungen:
SELECT name, order_number, DECIMAL(item_total, item_total * 100.0 / order_total,5,2) AS-Prozentsatz, order_total FROM order_table;
Die Funktion DECIMAL hat drei Argumente: die Zahl oder den berechneten Wert, die Anzahl der Stellen für die Genauigkeit und die Anzahl der Stellen nach dem Komma. Hier beträgt die Genauigkeit fünf und die Anzahl der Nachkommastellen zwei. Diese SELECT-Anweisung erzeugt einen Prozentsatz als Zahl mit insgesamt fünf Ziffern und zwei Dezimalstellen, z. B. 56,05 oder 199,10.
Benutzerdefinierte Funktionen
Für häufig verwendete, komplexe Berechnungen, die zu einem Prozentsatz führen, sollten Sie eine UDF oder benutzerdefinierte Funktion verwenden. DB2 speichert eine UDF als Objekt, sodass sie zusammen mit Feldern, Tabellen und anderen Objekten Teil der Datenbank wird. Die CREATE FUNCTION-Anweisung, gefolgt von anderen SQL-Anweisungen, schreibt einen Funktionseintrag in die Datenbank. Anstatt die komplexen Berechnungen in Ihren SELECT-Anweisungen zu wiederholen, können Sie auf die Funktion verweisen, was Ihre Programmierung einfacher und zuverlässiger macht.