begin process at 2012 05 26 12:10:26
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

Oracle

 > 

Débutant(s)

 > 

code calendrier sous pl/SQL


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

code calendrier sous pl/SQL

dimanche 26 octobre 2008 à 13:33:55 | code calendrier sous pl/SQL

foloyo3

bonjour tout le monde ,

je veux avaoir un code sous pl/SQL qui permet de creer un calendrier.

merci;

vendredi 29 octobre 2010 à 11:23:47 | Re : code calendrier sous pl/SQL

yvk92

Réponse tardive mais ça peut servir à d'autre :

Le code ci-dessous permet de générer une liste de date jour par jour comprises dans un intervale. L'exemple prend une année civile mais les date peuvent être "variabilisées" dans une fonction...

SELECT to_date('01/01/2010','DD/MM/YYYY') + level - 1 AS dy FROM dual
connect BY level <= to_date('31/12/2010','DD/MM/YYYY') - to_date('01/01/2010','DD/MM/YYYY') + 1


Supprimer les jours ouvrés à cela pourrait se faire en ajoutant un "Minus" au code précédent. L'exemple ci-après prend les jour 6 et 7 comme non ouvrés (samedi et dimanche) - mais ça pourrait ausi être variabilisé. Ca ferait donc :

Minus
SELECT to_date('01/01/2010','DD/MM/YYYY') + level - 1 AS dy FROM dual
where to_char(to_date('01/01/2010','DD/MM/YYYY') + level -1, 'D') in ('6','7')
connect BY level <= to_date('31/12/2010','DD/MM/YYYY') - to_date('01/01/2010','DD/MM/YYYY') + 1))


De là à retrancher les jours fériés, il n'y a qu'un petit effort supplémentaire à faire...
Pour les jours fériés, ils sont tous fixes en France sauf 3 qui sont mobiles selon l'année... La liste à établir est donc facile pour les fixes... Il suffit d'ajouter à l'ensemble des jours 6 et 7 (les non ouvrés) les dates fixes comme suit :

union
(select to_date('01/01/'||annee,'DD/MM/YYYY') as dy from dual
union
select to_date('14/07/'||annee,'DD/MM/YYYY') as dy from dual
union
select to_date('15/08/'||annee,'DD/MM/YYYY') as dy from dual
union
select to_date('01/11/'||annee,'DD/MM/YYYY') as dy from dual
union
select to_date('11/11/'||annee,'DD/MM/YYYY') as dy from dual
union
select to_date('25/12/'||annee,'DD/MM/YYYY') as dy from dual


Les 3 jours fériés mobiles sont : Paques, l'ascension et la pentecote...
L'ascension est 38 jours après Paques. La pentecote est 49 jours après Paques. Tout revient donc à déterminer Paques. Je vous suggère donc d'aller voir la page wikipedia lié à Paques... Divers algorithmes de calcul y sont décrit. L'algorithme de Oudin semble être le plus facile à mettre en oeuvre.

Bon, histoire de vous laisser un peu de boulot, je vous laisse implémenter les fonctions Lundi_Paques(annee), Jeudi_Ascension(annee) et Lundi_Pentecote(annee).


Cette discussion est classée dans : calendrier, code, sql, pl


Répondre à ce message

Sujets en rapport avec ce message

SQL* ou PL/SQL PB DE SPOOL [ par neena ] Salut, Je ne sais pas si vous pouvez aider mais je vous explique mon petit pb : Je dois ecrire via une requete dans un fichier txt mais je dois faire pl /sql fichier en ligne de commande [ par lenneth666 ] commetn en pl /sql je recupère le nom d'un fichier entrée en ligne de commande ? merci d'avance PL/SQL (web toolkit) [ par monsurf ] Salut tout le monde,Je cree des pages qui permettent la manipulation d'une db oracle...et je veux proteger certaine pages (insertion/modification) par retourner une valeur par defaut [ par Balbrolock ] Boujour,voila j'ai un petit probleme, je suis sous access 97 et il ne semble pas possible d'utiliser les fonctions "IF..." ou "CASE ... THEN..."et du Revue de code SQL [ par littlemarley ] Bonjour,Je recherche une maniere de revoir mon code SQL : un soft qui permette par exemple de verifier les textes interdits : j'indique que je ne veu fonction pl/sql retournant un tableau [ par mahni ] bonjour,    Je voudrais savoir comment écrire une fontion qui retourne un tableaux comme résultat en pl/sql. Je voulais tout simplement afficher à par le code sql [ par qerty21 ] je veux exporter les enregistrements d'une table dans un fichier .txt avec le code sql. Merci d'avence Traitement des chaînes en PL/SQL ? [ par mascoco ] Bonjour,Je suis nouveau en PL/SQL, je souhaite faire un petit programme en pl/sql qui extrait les données à partir d'une page HTML grâce au package UT pl/sql [ par midouesstt ] slt a tous j suis debutant en pl/sql e j cherche une reponse a ma question: ecrire une fonction qui pour chaque departement donne en parametre de la


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,437 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales