Процентни функции за DB2

Софтуерът за управление на бази данни на DB2 на IBM използва езика на структурираните заявки (SQL), за да създава и управлява структури на бази данни и да актуализира информацията в тях. SQL е стандартен за индустрията програмен език, който включва математически функции за извършване на подробни анализи на данни от базата данни. Използвайки SQL, можете лесно да изчислите проценти за всеки запис от таблица на базата данни, за групи записи и за общите стойности на таблицата.

Изявление SELECT

SQL на DB2 използва оператора SELECT, за да създава отчети от информация за база данни. Основният синтаксис на израза е думата SELECT, последвана от списък с полета, имена на таблици и незадължителни клаузи като WHERE и ORDER BY за тестване и сортиране на данни. Полетата могат да идват директно от таблица или те могат да бъдат изчислени стойности въз основа на полета на таблицата. Можете например да изброите съдържанието на таблица с поръчки, включително код на продукта, описание, цена и количество и можете да умножите цената по количеството, за да получите общата сума.

Просто разделение

Най-простата форма на процент в оператор DB2 SELECT умножава едно поле на 100, след което се разделя на общия, за да се получи процентът. Например, следният SQL изброява име на клиент, поръчка, общ брой на артикулите и процент от общия за поръчката:

ИЗБЕРЕТЕ име, номер_на поръчка, общ_ артикул, общ_ артикул * 100 / общ_ общ като процент ОТ таблица_за поръчка;

Ако изчислявате проценти въз основа на цели числа, умножаването на първия елемент по 100 гарантира, че последващото деление връща значим процент. Ако вместо това разделите цяло число на по-голямо цяло и умножите резултата по 100, SQL връща нула.

Десетична функция

Версията на SQL на DB2 има математическа функция, наречена DECIMAL. Използвайки го с процентна функция, DECIMAL ви дава контрол върху броя на десетичните знаци в резултата. Следният оператор SQL SELECT илюстрира използването на DECIMAL в процентни изчисления:

ИЗБЕРЕТЕ име, брой_на поръчка, ДЕЦИМАЛЕН (общ_ елемент, общ_изделие * 100.0 / общ_заказ, 5,2) AS процент, общ_заказ ОТ таблица_заказ;

Функцията DECIMAL има три аргумента: числото или изчислената стойност, броят на цифрите за прецизност и броят на цифрите след десетичната запетая. Тук точността е пет, а броят на цифрите след десетичната запетая е две. Този оператор SELECT генерира процент като число, съдържащо общо пет цифри и два знака след десетичната запетая, като 56.05 или 199.10.

Дефинирани от потребителя функции

За често използвани сложни изчисления, които водят до процент, помислете за използване на UDF или потребителска функция. DB2 съхранява UDF като обект, така че той става част от базата данни заедно с полета, таблици и други обекти. Операторът CREATE FUNCTION, последван от други SQL изрази, записва запис на функция в базата данни. Вместо да повтаряте сложните изчисления във вашите оператори SELECT, можете да се обърнете към функцията, правейки вашето програмиране по-опростено и по-надеждно.