Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia pessoal,
Preciso fazer uma consulta SQL que aplica o cálculo de juros compostos (juros sobre juros). https://www.significados.com.br/juros-compostos/
Valor Inicial:
R$ 1.000,00
Mês
Juros
Reajuste
01/08/2019
0,12%
R$ 1.001,20
01/09/2019
-0,05%
R$ 1.000,70
01/10/2019
0,04%
R$ 1.001,10
01/11/2019
0,54%
R$ 1.006,51
01/12/2019
1,22%
R$ 1.018,78
Valor Reajuste:
R$ 1.018,78
Creio que apenas usando select não seja possível, porque necessita de uma estrutura de repetição para aplicar o resultado do primeiro mês em outro mês e assim sucessivamente.
Penso que devo fazer uma função, onde passaria como parâmetro, o valor inicial, data inicial e data final.
Como não tenho conhecimento em desenvolvimento de função no mysql, gostaria de um exemplo, assim acredito que conseguido implementar.
Preciso de um exemplo de função, que faz um loop girando em todos os registros da tabela de juros, filtrando os meses conforme data inicial e final, para cada registro, aplicaria o percentual de reajuste. No primeiro mês aplicaria o percentual em cima do valor inicial, nos proximos meses aplicaria o percentual em cima do reajuste anterior.
Alguém já fez essa cálculo?
Estou usando o MySQL versão 5.1.73.Veja istotambém.
>
14 horas atrás, Motta disse:
Veja istotambém.
Ótimo, deu certo! obrigado!
select
10000 * EXP(SUM(LOG(1 + (1 * (percentual/100)))))
from
tab_indice
where
sigla = 'INPC'
and data between 20190901 and 20191101
Olá pessoal, consegui implementar, segue o código que atendeu a minha necessidade.
Criar tabela:
CREATE FUNCTION calcIndice(pvalor float, pindice varchar(50), pdata_inicial date, pdata_final date) returns float
begin