|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2010 Messages : 47 ![]() |
Bonjour à tous.
J'ai implémenter une procedure reposant sur l'algo de OUDIN afin définir les jours fériés pour l'année en cours. Pour 2012 et 2013 elle marche très bien MAIS pour l'année 2011, les jours fériés sont décalés d'UN jour. J'ai tourné le problème dans tous les sens, je n'arrive pas à voir d'où cela peut-il bien venir ! Code :
|
||
|
|
00
|
|
|
#2 |
![]() ![]() |
Peut-être trouverez-vous une piste dans l'article de SQLPro sur le sujet de la gestion du temps.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2010 Messages : 47 ![]() |
Tout d'abord, merci de votre réponse.
J'ai consulté le lien que vous m'avez donné, mais malheureusement je n'ai pas trouvé de réponse à ma question. Ça doit vraiment se jouer à un cheveu, car la fonction marche très bien pour l'année 2012 et 2013. Pour 2011 et 2014, le Dimanche de Pâques est calculé un jour trop tôt... |
|
|
00
|
|
|
#4 |
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2010 Messages : 47 ![]() |
Aucune solution ?
C'est dommage, je suis sûr que cette procédure mySQL pourrait servir à beaucoup de monde. |
|
|
00
|
|
|
#5 |
|
Membre régulier
![]() Julien SIMONIngénieur systèmes et réseaux Inscription : février 2006 Messages : 100 ![]() |
Bonjour,
Je suis tombé sur cette procédure en PGPLSQL qui devrait vous permettre de corriger l'erreur : blog.guillaume.lelarge.info/index.php/post/2006/02/07/431-vacances-en-pl-pgsql |
|
00
|
|
|
#6 |
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2010 Messages : 47 ![]() |
Bonjour,
malheureusement j'ai sensiblement fait la même démarche que sur le lien que vous m'avez envoyé. L'algo de Oudin est appliqué texto dans mon script, donc je ne comprend pas comment pour les années 2011 et 2014, le résultat est décalé d'UN jour. (Ce n'est même pas une histoire d'année bissextile, car 2012 et 2013 marchent très bien, sachant qu'un des deux est bissextile.) |
|
|
00
|
|
|
#7 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 959 ![]() |
C'est sans doute à cause de l'imprécision de vos calculs.
En effet suivant le type SQL de données que vous utilisez, quelques minutes par ci, par là en plus ou en moins peuvent faire basculer la date d'une journée. Pour ma part, sous MS SQL Server, je me sers des procédures que j'ai écrites et qui me donnent des résultats exacts. Mais MySQL est bien loin d'égaler MS SQL Server, d'autant qu'il utilise des types de données spécifiques qui n'existent nullement dans la norme SQL... A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#8 |
|
Membre régulier
![]() Julien SIMONIngénieur systèmes et réseaux Inscription : février 2006 Messages : 100 ![]() |
Même avis que SQLPro, ayant testé sous mysql et postgresql (pas eu le temps sur SQL Server) il y a bien un écart... Celui-ci se retrouve dans plusieurs fonctions de calculs qui me pousse aujourd'hui à migrer mes bases vers postgresql (marre de vérifier l’invérifiable !)
|
|
00
|
|
|
#9 |
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2010 Messages : 47 ![]() |
Je me doutais que c'était une question de calcul, mais merci à vous pour la confirmation.
Cependant mon patron voulant absolument mySQL, je me retrouve un peu roulé. Tant pis, ce sera une table de jours fériés en dur pour les 15 prochaines années alors.
|
|
|
00
|
|
|
#10 | |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 959 ![]() |
Citation:
A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
|
00
|
|
|
#11 |
|
Membre Expert
![]() Eric DureuilDéveloppeur informatique Inscription : avril 2011 Messages : 870 ![]() |
salut,
un truc qui peut te sauver est de t'assurer de travailler sur du float (en mettant les littéraux comme 19 à 19.0 par exemple) et de forcer la conversion float vers entier en jouant avec les fonctions d'arrondi dans ta procédure stocker... si ça peut t'éviter de générer tes 15 prochaines années à la main
__________________
Eric Dureuil, développeur web, c/c++, java indépendant soyons ![]() pensez à mettre et
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com