Bonjour,
Je ne parviens pas à trouver une méthode satisfaisante pour gérer en transact la problématique d'intérêts composé.
Je m'explique ; supposons que je place un capital en début d'année à un taux mensuel variable, je souhaiterais que
ma requête me retourne pour chacun des mois de l'année le montant de mon capital actualisé des interets perçus.
Voila ce que cela donnerait dans un tableur :
capital initial = 100
J'ai bien essayé différentes méthodes (CTE, self-join...) mais je bute systématiquement sur un problème de syntaxe...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 date rendement interet + capital 31/01/09 0,05 105,00 28/02/09 0,03 108,15 31/03/09 -0,02 105,99 30/04/09 0,01 107,05 31/05/09 0,08 115,61 30/06/09 -0,06 108,67 31/07/09 0,07 116,28 31/08/09 0,1 127,91 30/09/09 -0,12 112,56 31/10/09 0,06 119,31 30/11/09 0,03 122,89 31/12/09 0,09 133,95
J'imagine qu'il existe une autre méthode que le passage par un curseur, non ?
Ma config :
Microsoft SQL Server 2005 - 9.00.3068.00 (Intel X86)
Feb 26 2008 18:15:01
Copyright (c) 1988-2005 Microsoft Corporation
Standard Edition on Windows NT 5.2 (Build 3790: Service Pack 2)
Merci de votre aide !
Le jeu de test :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 CREATE TABLE dbo.tf_interest_rates (id INT IDENTITY(1,1) NOT NULL, date DATETIME NOT NULL, pct DECIMAL (8,6) NOT NULL) GO INSERT INTO dbo.tf_interest_rates (date, pct) VALUES ('20090131', 0.05) INSERT INTO dbo.tf_interest_rates (date, pct) VALUES ('20090228', 0.03) INSERT INTO dbo.tf_interest_rates (date, pct) VALUES ('20090331', -0.02) INSERT INTO dbo.tf_interest_rates (date, pct) VALUES ('20090430', 0.01) INSERT INTO dbo.tf_interest_rates (date, pct) VALUES ('20090531', 0.08) INSERT INTO dbo.tf_interest_rates (date, pct) VALUES ('20090630', -0.06) INSERT INTO dbo.tf_interest_rates (date, pct) VALUES ('20090731', 0.07) INSERT INTO dbo.tf_interest_rates (date, pct) VALUES ('20090831', 0.1) INSERT INTO dbo.tf_interest_rates (date, pct) VALUES ('20090930', -0.12) INSERT INTO dbo.tf_interest_rates (date, pct) VALUES ('20091031', 0.06) INSERT INTO dbo.tf_interest_rates (date, pct) VALUES ('20091130', 0.03) INSERT INTO dbo.tf_interest_rates (date, pct) VALUES ('20091231', 0.09)
Partager