Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour 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 31/01/2008, 17h39   #1
Membre à l'essai
 
Inscription : décembre 2004
Messages : 113
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 113
Points : 22
Points : 22
Par défaut Semaine - date début et fin

Bonjour,
Mes recherches n'ayant rien donné, peut être qu'un expert passant par ici aurait la solution à mon problème :
- J'ai une date au format wwyyyy (ou yyyyww) : un numéro de semaine dans une année
- Mon but : savoir quel est le premier jour de cette semaine (le lundi) et le dernier (dimanche)

Par exemple : avec 052008, je voudrais avoir deb = 28012008 et fin = 01022008

Si quelqu'un a une idée... Un grand merci d'avance!
marion782 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2008, 18h06   #2
Expert Confirmé
 
Avatar de 7gyY9w1ZY6ySRgPeaefZ
 
Homme
dba
Inscription : juillet 2007
Messages : 2 523
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : dba

Informations forums :
Inscription : juillet 2007
Messages : 2 523
Points : 3 972
Points : 3 972
http://www.developpez.net/forums/sho...ht=fin+semaine
7gyY9w1ZY6ySRgPeaefZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2008, 18h31   #3
Membre à l'essai
 
Inscription : décembre 2004
Messages : 113
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 113
Points : 22
Points : 22
Merci pour le lien, tout cela ne me parait pas très clair... j'ai pas envie de dire que le 01/01 est un lundi... c'est pas toujours le cas!...
marion782 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2008, 19h08   #4
Expert Confirmé
 
Avatar de 7gyY9w1ZY6ySRgPeaefZ
 
Homme
dba
Inscription : juillet 2007
Messages : 2 523
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : dba

Informations forums :
Inscription : juillet 2007
Messages : 2 523
Points : 3 972
Points : 3 972
Visiblement tu n'as même pas essayer la requête.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
SELECT greatest(trunc(to_date(y||'-01-01','RRRR-MM-DD'),'IW')+
      ( Case When trim(to_char(to_date(y||'-01-01','RRRR-MM-DD'),'Day','nls_date_language=french')) NOT IN ('Samedi', 'Dimanche') Then w Else w +1 End -1)*7,trunc(to_date(y||'-01-01','RRRR-MM-DD'),'IW')) AS "Lundi" , 
  trunc(to_date(y||'-01-01','RRRR-MM-DD'),'IW')+6+( Case When trim(to_char(to_date(y||'-01-01','RRRR-MM-DD'),'Day','nls_date_language=french')) NOT IN ('Samedi', 'Dimanche') Then w Else w +1 End -1)*7 AS "Dimanche" 
  FROM (SELECT &year y, &week w FROM dual);
 
Enter value FOR year: 2008
Enter value FOR week: 05
old   4:   FROM (SELECT &year y, &week w FROM dual)
new   4:   FROM (SELECT 2008 y, 05 w FROM dual)
 
Lundi     Dimanche
--------- ---------
28-JAN-08 03-FEB-08
 
1 row selected.
 
/***** NOUVEAU TEST *****/
Enter value FOR year: 2008
Enter value FOR week: 01
old   4:   FROM (SELECT &year y, &week w FROM dual)
new   4:   FROM (SELECT 2008 y, 01 w FROM dual)
 
Lundi     Dimanche
--------- ---------
31-DEC-07 06-JAN-08
 
1 row selected.
7gyY9w1ZY6ySRgPeaefZ 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 18h26.


 
 
 
 
Partenaires

Hébergement Web