Tras un mes de parón por temas varios volvemos con energía al blog. Vamos a dar por finalizado el capítulo dedicado a los descuentos y la aplicación de sus fórmulas en consultas de SQL-Server mirando el que nos queda, el descuento compuesto. Del descuento racional y del comercial ya hablamos en entradas pasadas.
El descuento compuesto es la operación inversa de la capitalización compuesta: si descontamos un capital utilizando el descuento compuesto, y el importe obtenido lo capitalizamos (capitalización compuesta) aplicando el mismo tipo de interés y plazo, obtenemos el importe inicial.
La fórmula para obtener el descuento sería la siguiente:
D = C0 * (1 – (1 + d) ^ -t )
Siendo C0 es el capital inicial en el momento t=0, d la tasa de descuento que se aplicará y t el tiempo que dura la inversión.
Para obtener el capital final la fórmula sería:
Cf = C0 * ( 1 + d ) ^ -t
Siendo C0 es el capital inicial en el momento t=0, d la tasa de descuento que se aplicará y t el tiempo que dura la inversión.
Entonces ¿cómo llevamos esto a una consulta SQL? Supongamos que, como en el ejemplo anterior, tenemos una tabla llamada TablaCreditos con los campos Valor (con el capital inicial en formato money), Descuento (en formato Numeric(5,2)) y Tiempo (en formato int). La consulta sería:
--Descuento Select Valor * (1.00-POWER((1.00+Descuento),Tiempo)) as DescuentoCompuesto from TablaCreditos --Capital final Select Valor * POWER((1.00+Descuento),Tiempo) as CapitalFinal from TablaCreditos