O software de gerenciamento de banco de dados DB2 da IBM usa Structured Query Language, ou SQL, para criar e gerenciar estruturas de banco de dados e atualizar as informações nelas. SQL é uma linguagem de programação padrão da indústria que inclui funções matemáticas para realizar análises detalhadas em dados de banco de dados. Usando SQL, você pode calcular facilmente as porcentagens para cada registro de uma tabela de banco de dados, para grupos de registros e para totais de tabela.
Instrução SELECT
O SQL do DB2 usa a instrução SELECT para criar relatórios de informações do banco de dados. A sintaxe básica da instrução é a palavra SELECT seguida por uma lista de campos, nomes de tabelas e cláusulas opcionais como WHERE e ORDER BY para testar e classificar dados. Os campos podem vir diretamente de uma tabela ou podem ser valores calculados com base nos campos da tabela. Você pode, por exemplo, listar o conteúdo de uma tabela de pedidos, incluindo um código de produto, descrição, preço e quantidade, e você pode multiplicar o preço pela quantidade para obter o total.
Divisão Simples
A forma mais simples de porcentagem em uma instrução DB2 SELECT multiplica um campo por 100 e, a seguir, divide por um total para obter a porcentagem. Por exemplo, o seguinte SQL lista o nome do cliente, pedido, total do item e porcentagem do total do pedido:
SELECT nome, número do pedido, total do item, total do item * 100 / total do pedido AS porcentagem da tabela do pedido;
Se você calcular porcentagens com base em campos inteiros, multiplicar o primeiro item por 100 garante que uma divisão subsequente retorne uma porcentagem significativa. Se, em vez disso, você dividir um inteiro por um inteiro maior e multiplicar o resultado por 100, o SQL retorna um zero.
Função Decimal
A versão do SQL do DB2 tem uma função matemática chamada DECIMAL. Usando-o com uma função de porcentagem, DECIMAL lhe dá controle sobre o número de casas decimais do resultado. A seguinte instrução SQL SELECT ilustra o uso de DECIMAL em cálculos de porcentagem:
SELECT nome, número do pedido, DECIMAL (item_total, item_total * 100,0 / pedido_total, 5,2) porcentagem AS, pedido_total FROM pedido_total;
A função DECIMAL tem três argumentos: o número ou valor calculado, o número de dígitos para precisão e o número de dígitos após o decimal. Aqui, a precisão é cinco e o número de dígitos após o decimal é dois. Esta instrução SELECT produz uma porcentagem como um número com cinco dígitos no total e duas casas decimais, como 56,05 ou 199,10.
Funções definidas pelo usuário
Para cálculos complexos e freqüentemente usados que resultam em uma porcentagem, considere o uso de um UDF ou Função Definida pelo Usuário. O DB2 armazena um UDF como um objeto, portanto, ele se torna parte do banco de dados junto com campos, tabelas e outros objetos. A instrução CREATE FUNCTION, seguida por outras instruções SQL, grava uma entrada de função no banco de dados. Em vez de repetir os cálculos complexos em suas instruções SELECT, você pode consultar a função, tornando sua programação mais simples e confiável.