Funciones de porcentaje para DB2

El software de administración de bases de datos DB2 de IBM utiliza el lenguaje de consulta estructurado, o SQL, para crear y administrar estructuras de bases de datos y actualizar la información en ellas. SQL es un lenguaje de programación estándar de la industria que incluye funciones matemáticas para realizar análisis detallados de datos de bases de datos. Con SQL, puede calcular fácilmente los porcentajes para cada registro de una tabla de base de datos, para grupos de registros y para los totales de la tabla.

Sentencia SELECT

El SQL de DB2 utiliza la instrucción SELECT para crear informes a partir de la información de la base de datos. La sintaxis básica de la declaración es la palabra SELECT seguida de una lista de campos, nombres de tablas y cláusulas opcionales como WHERE y ORDER BY para probar y ordenar datos. Los campos pueden provenir directamente de una tabla o pueden ser valores calculados en función de los campos de la tabla. Puede, por ejemplo, enumerar el contenido de una tabla de pedidos, incluido el código de producto, la descripción, el precio y la cantidad, y puede multiplicar el precio por la cantidad para obtener el total.

División simple

La forma más simple de porcentaje en una instrucción DB2 SELECT multiplica un campo por 100 y luego lo divide por un total para obtener el porcentaje. Por ejemplo, el siguiente SQL enumera el nombre de un cliente, el pedido, el total del artículo y el porcentaje del total del pedido:

SELECCIONE nombre, número_orden, item_total, item_total * 100 / order_total COMO porcentaje DE order_table;

Si calcula los porcentajes basándose en campos de números enteros, multiplicar el primer elemento por 100 garantiza que una división posterior devuelva un porcentaje significativo. Si, en cambio, divide un número entero por un número entero más grande y multiplica el resultado por 100, SQL devuelve un cero.

Función decimal

La versión de SQL de DB2 tiene una función matemática llamada DECIMAL. Utilizándolo con una función de porcentaje, DECIMAL le da control sobre el número de lugares decimales del resultado. La siguiente instrucción SQL SELECT ilustra el uso de DECIMAL en cálculos de porcentaje:

SELECCIONE nombre, número_orden, DECIMAL (item_total, item_total * 100.0 / order_total, 5,2) COMO porcentaje, order_total FROM order_table;

La función DECIMAL tiene tres argumentos: el número o valor calculado, el número de dígitos para precisión y el número de dígitos después del decimal. Aquí, la precisión es cinco y el número de dígitos después del decimal es dos. Esta instrucción SELECT produce un porcentaje como un número que tiene cinco dígitos en total y dos lugares decimales, como 56.05 o 199.10.

Funciones definidas por el usuario

Para cálculos complejos de uso frecuente que dan como resultado un porcentaje, considere usar una UDF o función definida por el usuario. DB2 almacena una UDF como un objeto, por lo que se convierte en parte de la base de datos junto con campos, tablas y otros objetos. La instrucción CREATE FUNCTION, seguida de otras instrucciones SQL, escribe una entrada de función en la base de datos. En lugar de repetir los cálculos complejos en sus sentencias SELECT, puede consultar la función, haciendo su programación más simple y confiable.