Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/02/2008, 15h18   #1
Candidat au titre de Membre du Club
 
Inscription : février 2006
Messages : 19
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 19
Points : 12
Points : 12
Par défaut [calcul] dernier jour ouvré du mois

Bonjour à tous,

J'ai besoin de récupérer le dernier jours ouvré du mois.Je sais pas trop comment faire.... Est ce que quelqu'un à une piste ?

Merci.
xolias est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2008, 18h36   #2
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 453
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 453
Points : 4 213
Points : 4 213
Créer une table qui contient tous les jours fériés, les samedis et les dimanches.

A moins que tu ne veuilles que les jours Lundi-Vendredi et que tu te moques des jours fériés

Code :
1
2
SELECT LAST_DAY(SYSDATE) - DECODE( TO_CHAR(LAST_DAY(SYSDATE), 'D'), 7,1, 1,2, 0)
FROM dual
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2008, 20h40   #3
Nouveau Membre du Club
 
Inscription : avril 2002
Messages : 103
Détails du profil
Informations forums :
Inscription : avril 2002
Messages : 103
Points : 28
Points : 28
Salut,

Peut-être quelques pistes sur cette page... même si la gestion des jour fériés hors week-end n'est pas trop abordée.

http://www.psoug.org/reference/date_func.html
cheprod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2008, 19h52   #4
Membre éprouvé
 
Inscription : décembre 2007
Messages : 354
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : décembre 2007
Messages : 354
Points : 408
Points : 408
Citation:
Envoyé par McM Voir le message
Créer une table qui contient tous les jours fériés, les samedis et les dimanches.

A moins que tu ne veuilles que les jours Lundi-Vendredi et que tu te moques des jours fériés

Code :
1
2
SELECT LAST_DAY(SYSDATE) - DECODE( TO_CHAR(LAST_DAY(SYSDATE), 'D'), 7,1, 1,2, 0)
FROM dual
Je crains que la solution ne soit pas bonne ...

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
SELECT to_char (LAST_DAY(date'2008-03-01'), 'Day dd/mm/yyyy') dt
FROM dual
 
 
DT                                                                                                                                
-------------------                                                                                                                                
Lundi    31/03/2008                                                                                                                                
 
1 rows selected
SELECT to_char (LAST_DAY(date'2008-03-01') - DECODE( TO_CHAR(LAST_DAY(date'2008-03-01'), 'D'), 7,1, 1,2, 0), 'Day dd/mm/yyyy') dt
FROM dual
 
 
DT                                                                                                                                
-------------------                                                                                                                                
Samedi   29/03/2008
Malheureusement le premier jour de la semaine n'est pas le même selon le pays! Aux Etats-Unis c'est Dimanche le 1er jour mais en France c'est Lundi.
__________________
Consultant et formateur Oracle
Michel SALAIS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/02/2008, 09h56   #5
Candidat au titre de Membre du Club
 
Inscription : février 2006
Messages : 19
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 19
Points : 12
Points : 12
En ce qui me concerne cest juste le calendrier fr qui m'intéresse.
Merci pour la requete


Code :
1
2
3
4
5
6
7
8
SELECT 
LAST_DAY(SYSDATE) - 
DECODE( 
TO_CHAR(LAST_DAY(SYSDATE), 'DAY') 
,'SAMEDI',1
,'DIMANCHE',2
, 0) 
FROM dual
++
xolias est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2008, 16h26   #6
Membre éprouvé
 
Inscription : décembre 2007
Messages : 354
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : décembre 2007
Messages : 354
Points : 408
Points : 408
Je viens de faire attention à la requête mais malheureusement elle est fausse! Pour une requête correcte et robuste :
Code :
1
2
3
4
5
6
7
8
SELECT 
LAST_DAY(SYSDATE) - 
DECODE( 
TO_CHAR(LAST_DAY(SYSDATE), 'fmDAY', 'nls_date_language = french') 
,'SAMEDI',1
,'DIMANCHE',2
, 0) 
FROM dual
__________________
Consultant et formateur Oracle
Michel SALAIS est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h28.


 
 
 
 
Partenaires

Hébergement Web